From 86cb5203a14620f61ba31dcb94dda3e250e22302 Mon Sep 17 00:00:00 2001 From: Arnold Moyaux Date: Fri, 22 Jun 2018 16:34:55 +0200 Subject: [PATCH] [FIX] delivery: traceback on single tracker When using easypost, it could exist more than one tracking link. In this case they are stored as a json and the method open_url try to load it as a list of url. Then it checks if there is more than one url or not. However in a single case, there is only one string and the lenght of a string is the number of chracter inside that is often more than one. --- addons/delivery/models/stock_picking.py | 19 +++++++++---------- addons/delivery/views/delivery_view.xml | 2 +- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/addons/delivery/models/stock_picking.py b/addons/delivery/models/stock_picking.py index 78f718a1a87..7eddcc52d04 100644 --- a/addons/delivery/models/stock_picking.py +++ b/addons/delivery/models/stock_picking.py @@ -184,21 +184,20 @@ class StockPicking(models.Model): carrier_trackers = json.loads(self.carrier_tracking_url) except ValueError: carrier_trackers = self.carrier_tracking_url - - if len(carrier_trackers) > 1: + else: msg = "Tracking links for shipment:
" for tracker in carrier_trackers: msg += '' + tracker[0] + '
' self.message_post(body=msg) return self.env.ref('delivery.act_delivery_trackers_url').read()[0] - else: - client_action = { - 'type': 'ir.actions.act_url', - 'name': "Shipment Tracking Page", - 'target': 'new', - 'url': self.carrier_tracking_url, - } - return client_action + + client_action = { + 'type': 'ir.actions.act_url', + 'name': "Shipment Tracking Page", + 'target': 'new', + 'url': self.carrier_tracking_url, + } + return client_action @api.one def cancel_shipment(self): diff --git a/addons/delivery/views/delivery_view.xml b/addons/delivery/views/delivery_view.xml index 4266265da67..d3e3e7e1a43 100644 --- a/addons/delivery/views/delivery_view.xml +++ b/addons/delivery/views/delivery_view.xml @@ -302,7 +302,7 @@
-

You have multiple URL, they should be available in the chatter.

+

You have multiple tracker links, they are available in the chatter.