From 42ade5e8dcb2e3d66b10575697fb08f178fad8be Mon Sep 17 00:00:00 2001 From: svs-odoo Date: Wed, 14 Oct 2020 16:04:32 +0000 Subject: [PATCH] [FIX] mrp: traceback when no date_planned_start Checks the MO `date_planned_start` is set to do the onchange. Also, add `product_id` in the onchange trigger because the produce delay can be different for each product and so the MO `date_planned_finished` must be recomputed also when the product change. task-2359839 closes odoo/odoo#61295 X-original-commit: b48d0047f6a0a3084739e8991f32aae4a2b399c2 Signed-off-by: William Henrotin --- addons/mrp/models/mrp_production.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/mrp/models/mrp_production.py b/addons/mrp/models/mrp_production.py index 2a400705e1b..d02daefb366 100644 --- a/addons/mrp/models/mrp_production.py +++ b/addons/mrp/models/mrp_production.py @@ -567,9 +567,9 @@ class MrpProduction(models.Model): self.move_finished_ids = [(2, move.id) for move in self.move_finished_ids] self.picking_type_id = self.bom_id.picking_type_id or self.picking_type_id - @api.onchange('date_planned_start') + @api.onchange('date_planned_start', 'product_id') def _onchange_date_planned_start(self): - if not self.is_planned: + if self.date_planned_start and not self.is_planned: date_planned_finished = self.date_planned_start + relativedelta(days=self.product_id.produce_delay) date_planned_finished = date_planned_finished + relativedelta(days=self.company_id.manufacturing_lead) if date_planned_finished == self.date_planned_start: