From 795eb44efdd0d016e00c8e99abcf95fc632b2e7b Mon Sep 17 00:00:00 2001 From: Jesus Ramoneda Date: Wed, 7 Jun 2023 16:29:31 +0200 Subject: [PATCH] [IMP] base_user_role: Adding alert in user when role is used --- base_user_role/models/user.py | 8 ++++++++ base_user_role/tests/test_user_role.py | 9 +++++++++ base_user_role/views/user.xml | 20 ++++++++++++++++++++ 3 files changed, 37 insertions(+) diff --git a/base_user_role/models/user.py b/base_user_role/models/user.py index 9b71e140..65742820 100644 --- a/base_user_role/models/user.py +++ b/base_user_role/models/user.py @@ -12,6 +12,14 @@ class ResUsers(models.Model): string="Role lines", default=lambda self: self._default_role_lines(), ) + + show_alert = fields.Boolean(compute="_compute_show_alert") + + @api.depends("role_line_ids") + def _compute_show_alert(self): + for user in self: + user.show_alert = user.role_line_ids.filtered(lambda rec: rec.is_enabled) + role_ids = fields.One2many( comodel_name="res.users.role", string="Roles", diff --git a/base_user_role/tests/test_user_role.py b/base_user_role/tests/test_user_role.py index 0669bcc8..6f640227 100644 --- a/base_user_role/tests/test_user_role.py +++ b/base_user_role/tests/test_user_role.py @@ -247,6 +247,15 @@ class TestUserRole(TransactionCase): role_group_ids = sorted(set(role.trans_implied_ids.ids)) self.assertEqual(user_group_ids, role_group_ids) + def test_show_alert_computation(self): + """Test the computation of the `show_alert` field.""" + self.user_id.write({"role_line_ids": [(0, 0, {"role_id": self.role1_id.id})]}) + self.assertTrue(self.user_id.show_alert) + + # disable role + self.user_id.role_line_ids.unlink() + self.assertFalse(self.user_id.show_alert) + def test_group_groups_into_role(self): user_group_ids = [group.id for group in self.user_id.groups_id] # Check that there is not a role with name: Test Role diff --git a/base_user_role/views/user.xml b/base_user_role/views/user.xml index 5bacde7e..081923b1 100644 --- a/base_user_role/views/user.xml +++ b/base_user_role/views/user.xml @@ -24,8 +24,28 @@ + + + + + + res.users.search.inherit res.users