From b79c5c43c5d1cf7b94243d1a9fa737341451d6ca Mon Sep 17 00:00:00 2001 From: Jared Kipe Date: Fri, 11 Mar 2022 08:58:07 -0800 Subject: [PATCH 1/2] [FIX] delivery_ups_hibou: ground rating if it isn't the initial service --- delivery_ups_hibou/models/ups_request_patch.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/delivery_ups_hibou/models/ups_request_patch.py b/delivery_ups_hibou/models/ups_request_patch.py index 7b087508..7e99856f 100644 --- a/delivery_ups_hibou/models/ups_request_patch.py +++ b/delivery_ups_hibou/models/ups_request_patch.py @@ -165,13 +165,12 @@ def patched_get_shipping_price(self, shipment_info, packages, shipper, ship_from _logger.warning('exception during the UPS Time In Transit request. ' + str(e)) tnt_ready = False tnt_response = '-1' - if tnt_ready and hasattr(tnt_response, 'TransitReponse') and hasattr(tnt_response.TransitResponse, 'ServiceSummary'): + if tnt_ready and hasattr(tnt_response, 'TransitResponse') and hasattr(tnt_response.TransitResponse, 'ServiceSummary'): for service in tnt_response.TransitResponse.ServiceSummary: - if TNT_CODE_MAP.get(service.Service.Code) == service_type: + if TNT_CODE_MAP.get(service.Service.Code) == res['service_code']: if hasattr(service, 'EstimatedArrival') and hasattr(service.EstimatedArrival, 'BusinessDaysInTransit'): res['transit_days'] = int(service.EstimatedArrival.BusinessDaysInTransit) break - # use TNT API to result.append(res) else: result = {} From 35b68e7708e69d3199fdb0a4db050c59e7016e53 Mon Sep 17 00:00:00 2001 From: Jared Kipe Date: Fri, 11 Mar 2022 08:59:50 -0800 Subject: [PATCH 2/2] [IMP] stock_delivery_planner: method to collect carriers to make it easier to provide or filter --- .../wizard/stock_delivery_planner.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/stock_delivery_planner/wizard/stock_delivery_planner.py b/stock_delivery_planner/wizard/stock_delivery_planner.py index 6644c2c9..a898526d 100644 --- a/stock_delivery_planner/wizard/stock_delivery_planner.py +++ b/stock_delivery_planner/wizard/stock_delivery_planner.py @@ -23,10 +23,9 @@ class StockDeliveryPlanner(models.TransientModel): selected_options = wiz.plan_option_ids.filtered(lambda p: p.selection == 'selected') wiz.packages_planned = len(selected_options) == len(packages) - def create(self, values): - planner = super(StockDeliveryPlanner, self).create(values) - - base_carriers = planner.picking_id.picking_type_id.warehouse_id.delivery_planner_carrier_ids + def _get_carriers(self): + self.ensure_one() + base_carriers = self.picking_id.picking_type_id.warehouse_id.delivery_planner_carrier_ids if not base_carriers: carrier_ids = self.env['ir.config_parameter'].sudo().get_param('stock.delivery.planner.carrier_ids.%s' % (self.env.user.company_id.id, )) if carrier_ids: @@ -35,7 +34,11 @@ class StockDeliveryPlanner(models.TransientModel): base_carriers = base_carriers.browse(carrier_ids) except: pass - base_carriers = base_carriers.sudo() + return base_carriers.sudo() + + def create(self, values): + planner = super(StockDeliveryPlanner, self).create(values) + base_carriers = planner._get_carriers() for carrier in base_carriers: try: