From cd6b78f54de59c95d9e92626fd4ad4e946b8738f Mon Sep 17 00:00:00 2001 From: Benjami <benjami94@gmail.com> Date: Fri, 16 Jun 2023 09:15:59 +0200 Subject: [PATCH] Fix relation assignment between users and companies --- energy_communities/models/res_company.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/energy_communities/models/res_company.py b/energy_communities/models/res_company.py index 0c73aae4e..b8c9c9e2d 100644 --- a/energy_communities/models/res_company.py +++ b/energy_communities/models/res_company.py @@ -167,16 +167,16 @@ class ResCompany(models.Model): return admins def add_ce_admin(self, user): - if self.hierarchy_level != COMMUNITY_HIERARCHY: + if self.hierarchy_level != 'community': raise UserError(_("Only a CE can have CE admins")) - role = self.env["res.users.role"].sudo().search([{ + role = self.env["res.users.role"].sudo().search([( "code", "=", "role_ce_admin" - }]) + )]) current_role = self.env["res.users.role.line"].sudo().search([ ("user_id", "=", user.id), ("active", "=", True), - ("allowed_company_ids", "=", self.id) # It's M2M, = is okey? + ("company_id", "=", self.id) # It's M2M, = is okey? ]) if current_role and len(current_role) > 1: raise UserError(_("Error: This user have multiple roles for this company")) @@ -188,15 +188,15 @@ class ResCompany(models.Model): if current_role: current_role.write({"role_id": role}) else: + user = self.env["res.users"].sudo().browse(user.id) + user.write({ + "company_ids": [(4, self.id)] + }) self.env["res.users.role.line"].sudo().create({ "user_id": user.id, "active": True, - "role_id": role, - "community_ids": (6, 0, self.id), - }) - user = self.env["res.users"].sudo().browse(user.id) - user.write({ - "community_ids": (6, 0, self.id) + "role_id": role.id, + "company_id": self.id, }) def get_ce_members(self, domain_key="in_kc_and_active"): -- GitLab