From fbf6f2cd9b696ca2fbad9882d6015fa15f223658 Mon Sep 17 00:00:00 2001 From: Goffin Simon Date: Wed, 10 Feb 2016 12:36:14 +0100 Subject: [PATCH] [FIX] delivery: Delivery method without redirect on courier provider's website A UserError must be sent if the delivery method set on the delivery order has no redirect on courier provider's website. opw:668960 --- addons/delivery/i18n/delivery.pot | 6 ++++++ addons/delivery/models/stock_picking.py | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/addons/delivery/i18n/delivery.pot b/addons/delivery/i18n/delivery.pot index bfa7f28248d..1160acc2328 100644 --- a/addons/delivery/i18n/delivery.pot +++ b/addons/delivery/i18n/delivery.pot @@ -1074,6 +1074,12 @@ msgstr "" msgid "Shipment sent to carrier %s for expedition with tracking number %s" msgstr "" +#. module: delivery +#: code:addons/delivery/models/stock_picking.py:106 +#, python-format +msgid "Your delivery method has no redirect on courier provider's website to track this order." +msgstr "" + #. module: delivery #: model:ir.model.fields,field_description:delivery.field_stock_picking_carrier_price msgid "Shipping Cost" diff --git a/addons/delivery/models/stock_picking.py b/addons/delivery/models/stock_picking.py index 1cb9ed88b04..ac4756b2532 100644 --- a/addons/delivery/models/stock_picking.py +++ b/addons/delivery/models/stock_picking.py @@ -100,11 +100,15 @@ class StockPicking(models.Model): @api.multi def open_website_url(self): self.ensure_one() + if self.carrier_id.get_tracking_link(self): + url = self.carrier_id.get_tracking_link(self)[0] + else: + raise UserError(_("Your delivery method has no redirect on courier provider's website to track this order.")) client_action = {'type': 'ir.actions.act_url', 'name': "Shipment Tracking Page", 'target': 'new', - 'url': self.carrier_id.get_tracking_link(self)[0] + 'url': url, } return client_action