Skip to content

Commit

Permalink
Merge PR OCA#1764 into 17.0
Browse files Browse the repository at this point in the history
Signed-off-by legalsylvain
  • Loading branch information
OCA-git-bot committed Nov 8, 2024
2 parents 5a79222 + 5d1e3bc commit 7fab095
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 22 deletions.
19 changes: 11 additions & 8 deletions uom_category_active/models/uom_category.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,15 @@ class UomCategory(models.Model):
"product category without removing it.",
)

@api.onchange("active")
def _onchange_active(self):
if not self.active:
self.uom_ids.active = False
@api.model_create_multi
def create(self, vals_list):
categs = super().create(vals_list)
categs.filtered(lambda x: not x.active).mapped("uom_ids").write(
{"active": False}
)
return categs

@api.onchange("uom_ids")
def _onchange_uom_ids(self):
if self.active:
return super()._onchange_uom_ids()
def write(self, vals):
if "active" in vals and not vals.get("active"):
self.mapped("uom_ids").write({"active": False})
return super().write(vals)
17 changes: 3 additions & 14 deletions uom_category_active/tests/test_uom_category_active.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
# Copyright 2023 PESOL - Angel Moya
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).

from odoo.exceptions import UserError
from odoo.tests import TransactionCase


Expand All @@ -14,21 +13,11 @@ def setUpClass(cls):
cls.uom_categ = categ_obj.create(
{"name": "Test UoM Category", "uom_ids": [(0, 0, {"name": "Test UoM"})]}
)
cls.uom = cls.uom_categ.uom_ids[0]

def test_archive_non_empty_categories(self):
self.assertTrue(self.uom_categ.active)
uom = self.uom_categ.uom_ids[0]
self.assertTrue(uom.active)
self.assertTrue(self.uom.active)
self.uom_categ.active = False
self.uom_categ._onchange_active()
self.uom_categ._onchange_uom_ids()
self.assertFalse(self.uom_categ.active)
self.assertFalse(uom.active)

def test_archive_reference_uom(self):
self.assertTrue(self.uom_categ.active)
uom = self.uom_categ.uom_ids[0]
self.assertTrue(uom.active)
uom.active = False
with self.assertRaises(UserError):
self.uom_categ._onchange_uom_ids()
self.assertFalse(self.uom.active)

0 comments on commit 7fab095

Please sign in to comment.