From 314afdf63d0d9a9a5f8719a3cd723b812f304bbe Mon Sep 17 00:00:00 2001 From: Jared Kipe Date: Fri, 11 Mar 2022 08:59:50 -0800 Subject: [PATCH] [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 67695c56..866c443f 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: