From 8cc53e2a9f0bdd610faa2bf040a36a85bbff20e9 Mon Sep 17 00:00:00 2001 From: Cedric Collins Date: Fri, 10 Sep 2021 15:08:04 -0500 Subject: [PATCH] [IMP] sale_planner: use command pattern and log missing warehouse calendar --- sale_planner/wizard/order_planner.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sale_planner/wizard/order_planner.py b/sale_planner/wizard/order_planner.py index 8d664ce1..ba298735 100644 --- a/sale_planner/wizard/order_planner.py +++ b/sale_planner/wizard/order_planner.py @@ -250,15 +250,14 @@ class SaleOrderMakePlan(models.TransientModel): @api.model def create(self, values): - planner = super(SaleOrderMakePlan, self).create(values) - - for option_vals in self.generate_order_options(planner.order_id): + order = self.env['sale.order'].browse(values['order_id']) + for option_vals in self.generate_order_options(order): if type(option_vals) != dict: continue - option_vals['plan_id'] = planner.id - planner.planning_option_ids |= self.env['sale.order.planning.option'].create(option_vals) - - return planner + if not values.get('planning_option_ids'): + values['planning_option_ids'] = [] + values['planning_option_ids'].append((0, 0, option_vals)) + return super(SaleOrderMakePlan, self).create(values) def _fake_order(self, order): return FakeSaleOrder(**{ @@ -632,6 +631,7 @@ class SaleOrderMakePlan(models.TransientModel): def _next_warehouse_shipping_date(self, warehouse): if warehouse.shipping_calendar_id: return warehouse.shipping_calendar_id.plan_days_end(0, fields.Datetime.now(), compute_leaves=True) + _logger.error('Shipping calendar not found for warehouse: %d, %s' % (warehouse.id, warehouse.name)) return False @api.model