From 10e1841be7e4c5a5c7fb93a3ce2d68534009684b Mon Sep 17 00:00:00 2001 From: Jordi Ballester Alomar Date: Wed, 27 Jun 2018 17:09:41 +0200 Subject: [PATCH] change date_to_procure to consider working calendar --- mrp_multi_level/models/mrp_inventory.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/mrp_multi_level/models/mrp_inventory.py b/mrp_multi_level/models/mrp_inventory.py index 360a86069..a9959fafe 100644 --- a/mrp_multi_level/models/mrp_inventory.py +++ b/mrp_multi_level/models/mrp_inventory.py @@ -51,7 +51,8 @@ class MrpInventory(models.Model): @api.multi @api.depends('mrp_product_id', 'mrp_product_id.main_supplierinfo_id', - 'mrp_product_id.mrp_lead_time') + 'mrp_product_id.mrp_lead_time', + 'mrp_product_id.mrp_area_id.calendar_id') def _compute_date_to_procure(self): today = date.today() for rec in self.filtered(lambda r: r.date): @@ -61,8 +62,13 @@ class MrpInventory(models.Model): elif rec.mrp_product_id.supply_method == 'manufacture': delay = rec.mrp_product_id.mrp_lead_time # TODO: 'move' supply method - date_to_procure = fields.Date.from_string( - rec.date) - timedelta(days=delay) + if delay and rec.mrp_area_id.calendar_id: + dt_date = fields.Datetime.from_string(rec.date) + date_to_procure = rec.mrp_area_id.calendar_id.plan_days( + -delay - 1, dt_date).date() + else: + date_to_procure = fields.Date.from_string( + rec.date) - timedelta(days=delay) if date_to_procure < today: date_to_procure = today rec.date_to_procure = date_to_procure