changeset 0103710a6ec8 in modules/stock_package_shipping_mygls:6.2
details: 
https://hg.tryton.org/modules/stock_package_shipping_mygls?cmd=changeset&node=0103710a6ec8
description:
        Test mygls_services is not empty before using it

        issue11281
        review388001002
        (grafted from 5d6f283981cf21c6ded95a7071e939b12dd635b3)
diffstat:

 stock.py |  18 +++++++++++-------
 1 files changed, 11 insertions(+), 7 deletions(-)

diffs (47 lines):

diff -r 0b2dd4395746 -r 0103710a6ec8 stock.py
--- a/stock.py  Mon Nov 01 17:38:46 2021 +0100
+++ b/stock.py  Sun Mar 06 18:07:16 2022 +0100
@@ -70,23 +70,26 @@
                 gettext('stock_package_shipping_mygls'
                     '.msg_shipping_to_address_country_code_required',
                     shipping=self.rec_name))
-        if 'CS1' in self.carrier.mygls_services:
+        if (self.carrier.mygls_services
+                and 'CS1' in self.carrier.mygls_services):
             if not self.shipping_to.contact_mechanism_get({'phone', 'mobile'}):
                 raise PackingValidationError(
                     gettext('stock_package_shipping_mygls'
                         '.msg_phone_mobile_required',
                         shipment=self.rec_name,
                         party=self.shipping_to.rec_name))
-        if 'FDS' in self.carrier.mygls_services:
+        if (self.carrier.mygls_services
+                and 'FDS' in self.carrier.mygls_services):
             if not self.shipping_to.contact_mechanism_get('email'):
                 raise PackingValidationError(
                     gettext('stock_package_shipping_mygls'
                         '.msg_email_required',
                         shipment=self.rec_name,
                         party=self.shipping_to.rec_name))
-        if ('FSS' in self.carrier.mygls_services
-                or 'SM1' in self.carrier.mygls_services
-                or 'SM2' in self.carrier.mygls_services):
+        if (self.carrier.mygls_services
+                and ('FSS' in self.carrier.mygls_services
+                    or 'SM1' in self.carrier.mygls_services
+                    or 'SM2' in self.carrier.mygls_services)):
             if not self.shipping_to.contact_mechanism_get('mobile'):
                 raise PackingValidationError(
                     gettext('stock_package_shipping_mygls'
@@ -200,8 +203,9 @@
 
     def get_parcel(self, shipment, packages, credential):
         services = []
-        for code in shipment.carrier.mygls_services:
-            services.append({'Service': self.get_service(code, shipment)})
+        if shipment.carrier.mygls_services:
+            for code in shipment.carrier.mygls_services:
+                services.append({'Service': self.get_service(code, shipment)})
         return {
             'ClientNumber': credential.client_number,
             'ClientReference': shipment.number,

Reply via email to