From 5ef8d8ef109b568bee4bdda1701d169a3c3930f4 Mon Sep 17 00:00:00 2001 From: Lois Rilo Date: Mon, 3 Jun 2019 14:51:54 +0200 Subject: [PATCH] [11.0][FIX] mrp_multi_level: fix supply method computation and add required fields. --- mrp_multi_level/models/mrp_inventory.py | 1 + mrp_multi_level/models/mrp_move.py | 1 + mrp_multi_level/models/mrp_planned_order.py | 3 +++ mrp_multi_level/models/product_mrp_area.py | 4 ++-- 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/mrp_multi_level/models/mrp_inventory.py b/mrp_multi_level/models/mrp_inventory.py index 9457161d7..be68f3a5f 100644 --- a/mrp_multi_level/models/mrp_inventory.py +++ b/mrp_multi_level/models/mrp_inventory.py @@ -26,6 +26,7 @@ class MrpInventory(models.Model): product_mrp_area_id = fields.Many2one( comodel_name='product.mrp.area', string='Product Parameters', index=True, + required=True, ) product_id = fields.Many2one( comodel_name='product.product', diff --git a/mrp_multi_level/models/mrp_move.py b/mrp_multi_level/models/mrp_move.py index a92733954..0813b6462 100644 --- a/mrp_multi_level/models/mrp_move.py +++ b/mrp_multi_level/models/mrp_move.py @@ -14,6 +14,7 @@ class MrpMove(models.Model): product_mrp_area_id = fields.Many2one( comodel_name="product.mrp.area", string="Product", index=True, + required=True, ) mrp_area_id = fields.Many2one( comodel_name="mrp.area", diff --git a/mrp_multi_level/models/mrp_planned_order.py b/mrp_multi_level/models/mrp_planned_order.py index 70162980f..9c303e3fc 100644 --- a/mrp_multi_level/models/mrp_planned_order.py +++ b/mrp_multi_level/models/mrp_planned_order.py @@ -15,6 +15,7 @@ class MrpPlannedOrder(models.Model): comodel_name="product.mrp.area", string="Product", index=True, + required=True, ) mrp_area_id = fields.Many2one( comodel_name="mrp.area", @@ -22,11 +23,13 @@ class MrpPlannedOrder(models.Model): string="MRP Area", store=True, index=True, + readonly=True, ) product_id = fields.Many2one( comodel_name="product.product", related="product_mrp_area_id.product_id", store=True, + readonly=True, ) order_release_date = fields.Date( string="Release Date", diff --git a/mrp_multi_level/models/product_mrp_area.py b/mrp_multi_level/models/product_mrp_area.py index 18d12df42..635a9699c 100644 --- a/mrp_multi_level/models/product_mrp_area.py +++ b/mrp_multi_level/models/product_mrp_area.py @@ -131,13 +131,13 @@ class ProductMRPArea(models.Model): def _compute_supply_method(self): group_obj = self.env['procurement.group'] for rec in self: + proc_loc = rec.location_proc_id or rec.mrp_area_id.location_id values = { 'warehouse_id': rec.mrp_area_id.warehouse_id, 'company_id': self.env.user.company_id.id, # TODO: better way to get company } - rule = group_obj._get_rule( - rec.product_id, rec.mrp_area_id.location_id, values) + rule = group_obj._get_rule(rec.product_id, proc_loc, values) rec.supply_method = rule.action if rule else 'none' @api.multi