[IMP] stock_delivery_planner: method to collect carriers to make it easier to provide or filter

This commit is contained in:
Jared Kipe
2022-03-11 08:59:50 -08:00
parent b79c5c43c5
commit 35b68e7708

View File

@@ -23,10 +23,9 @@ class StockDeliveryPlanner(models.TransientModel):
selected_options = wiz.plan_option_ids.filtered(lambda p: p.selection == 'selected') selected_options = wiz.plan_option_ids.filtered(lambda p: p.selection == 'selected')
wiz.packages_planned = len(selected_options) == len(packages) wiz.packages_planned = len(selected_options) == len(packages)
def create(self, values): def _get_carriers(self):
planner = super(StockDeliveryPlanner, self).create(values) self.ensure_one()
base_carriers = self.picking_id.picking_type_id.warehouse_id.delivery_planner_carrier_ids
base_carriers = planner.picking_id.picking_type_id.warehouse_id.delivery_planner_carrier_ids
if not base_carriers: 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, )) 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: if carrier_ids:
@@ -35,7 +34,11 @@ class StockDeliveryPlanner(models.TransientModel):
base_carriers = base_carriers.browse(carrier_ids) base_carriers = base_carriers.browse(carrier_ids)
except: except:
pass 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: for carrier in base_carriers:
try: try: