From 9422f5100aea97a362ba92013e97fa3e268211d1 Mon Sep 17 00:00:00 2001 From: Lois Rilo Date: Mon, 28 Feb 2022 08:55:59 +0100 Subject: [PATCH] [IMP] mrp_multi_level: Archiving a product should archive related MRP parameters --- mrp_multi_level/models/product_product.py | 11 +++++++++++ mrp_multi_level/tests/test_mrp_multi_level.py | 4 ++++ 2 files changed, 15 insertions(+) diff --git a/mrp_multi_level/models/product_product.py b/mrp_multi_level/models/product_product.py index d08424e48..e2cb62a59 100644 --- a/mrp_multi_level/models/product_product.py +++ b/mrp_multi_level/models/product_product.py @@ -37,6 +37,17 @@ class Product(models.Model): for rec in self: rec.mrp_area_count = len(rec.mrp_area_ids) + def write(self, values): + res = super().write(values) + if values.get("active") is False: + parameters = ( + self.env["product.mrp.area"] + .sudo() + .search([("product_id", "in", self.ids)]) + ) + parameters.write({"active": False}) + return res + def action_view_mrp_area_parameters(self): self.ensure_one() xmlid = "mrp_multi_level.product_mrp_area_action" diff --git a/mrp_multi_level/tests/test_mrp_multi_level.py b/mrp_multi_level/tests/test_mrp_multi_level.py index 9a685a4e5..62b9912f3 100644 --- a/mrp_multi_level/tests/test_mrp_multi_level.py +++ b/mrp_multi_level/tests/test_mrp_multi_level.py @@ -32,6 +32,10 @@ class TestMrpMultiLevel(TestMrpMultiLevelCommon): self.assertEqual(product_mrp_area.supply_method, "manufacture") self.assertFalse(product_mrp_area.main_supplier_id) self.assertFalse(product_mrp_area.main_supplierinfo_id) + # Archiving the product should archive parameters: + self.assertTrue(product_mrp_area.active) + self.sf_1.active = False + self.assertFalse(product_mrp_area.active) def test_03_mrp_moves(self): """Tests for mrp moves generated."""