summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjerome hanke (jhk) <jhk@odoo.com>2020-01-29 10:37:52 +0000
committerjerome hanke (jhk) <jhk@odoo.com>2020-02-17 13:39:48 +0000
commit0c4d808fd73a4d11aafe6aaab8529283da43fef1 (patch)
tree4d475588e0c1388ecb49938de52af1301d2979a6
parentbef4a3bad6ba7ac84060eed1611076383cf46673 (diff)
[FIX] delivery: handle multiple references in delivery email
Steps to reproduce: - install sales and easypost shipping - have a delivery order of multiple packages with easypost - click "send confirmation email" previous behavior: the template does not handle multiple package references and the associated link is wrong current behavior: each reference is set in a separated link opw-2167037 closes odoo/odoo#45507 X-original-commit: 65eaa3e7daf0b547ae2bb98e335fc5941cb200a6 Signed-off-by: mightyjol <jhk-odoo@users.noreply.github.com>
-rw-r--r--addons/delivery/models/stock_picking.py7
-rw-r--r--addons/stock/data/mail_template_data.xml9
-rw-r--r--addons/stock/i18n/stock.pot9
3 files changed, 23 insertions, 2 deletions
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
<strong>
%if object.carrier_tracking_url:
- <a href="${object.carrier_tracking_url}" target="_blank">${object.carrier_tracking_ref}</a>.
+ % set multiple_carrier_tracking = object.get_multiple_carrier_tracking()
+ %if multiple_carrier_tracking:
+ % for line in multiple_carrier_tracking:
+ <br/><a href="${line[1]}" target="_blank">${line[0]}</a>
+ % endfor
+ %else:
+ <a href="${object.carrier_tracking_url}" target="_blank">${object.carrier_tracking_ref}</a>.
+ %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"
" <strong>\n"
" %if object.carrier_tracking_url:\n"
-" <a href=\"${object.carrier_tracking_url}\" target=\"_blank\">${object.carrier_tracking_ref}</a>.\n"
+" % set multiple_carrier_tracking = object.get_multiple_carrier_tracking()\n"
+" %if multiple_carrier_tracking:\n"
+" % for line in multiple_carrier_tracking:\n"
+" <br/><a href=\"${line[1]}\" target=\"_blank\">${line[0]}</a>\n"
+" % endfor\n"
+" %else:\n"
+" <a href=\"${object.carrier_tracking_url}\" target=\"_blank\">${object.carrier_tracking_ref}</a>.\n"
+" %endif\n"
" %else:\n"
" ${object.carrier_tracking_ref}.\n"
" %endif\n"