diff --git a/addons/delivery/models/stock_picking.py b/addons/delivery/models/stock_picking.py index 199f2fa9695..ba2f6c18553 100644 --- a/addons/delivery/models/stock_picking.py +++ b/addons/delivery/models/stock_picking.py @@ -109,6 +109,13 @@ class StockPicking(models.Model): else: picking.return_label_ids = False + def get_multiple_carrier_tracking(self): + self.ensure_one() + try: + return json.loads(self.carrier_tracking_url) + except ValueError: + return False + @api.depends('move_lines') def _cal_weight(self): for picking in self: diff --git a/addons/stock/data/mail_template_data.xml b/addons/stock/data/mail_template_data.xml index 06cfee0f7b2..7d21e99c420 100644 --- a/addons/stock/data/mail_template_data.xml +++ b/addons/stock/data/mail_template_data.xml @@ -14,7 +14,14 @@ Your tracking reference is %if object.carrier_tracking_url: - ${object.carrier_tracking_ref}. + % set multiple_carrier_tracking = object.get_multiple_carrier_tracking() + %if multiple_carrier_tracking: + % for line in multiple_carrier_tracking: +
${line[0]} + % endfor + %else: + ${object.carrier_tracking_ref}. + %endif %else: ${object.carrier_tracking_ref}. %endif diff --git a/addons/stock/i18n/stock.pot b/addons/stock/i18n/stock.pot index 39dba9ea450..5edd1bd24da 100644 --- a/addons/stock/i18n/stock.pot +++ b/addons/stock/i18n/stock.pot @@ -204,7 +204,14 @@ msgid "" " Your tracking reference is\n" " \n" " %if object.carrier_tracking_url:\n" -" ${object.carrier_tracking_ref}.\n" +" % set multiple_carrier_tracking = object.get_multiple_carrier_tracking()\n" +" %if multiple_carrier_tracking:\n" +" % for line in multiple_carrier_tracking:\n" +"
${line[0]}\n" +" % endfor\n" +" %else:\n" +" ${object.carrier_tracking_ref}.\n" +" %endif\n" " %else:\n" " ${object.carrier_tracking_ref}.\n" " %endif\n"