diff --git a/easy_my_coop/models/partner.py b/easy_my_coop/models/partner.py index b4b1752..c847e81 100644 --- a/easy_my_coop/models/partner.py +++ b/easy_my_coop/models/partner.py @@ -172,6 +172,10 @@ class ResPartner(models.Model): sting="Effective Date", compute=_compute_effective_date, store=True ) representative = fields.Boolean(string="Legal Representative") + representative_of_member_company = fields.Boolean( + string="Legal Representative of Member Company", + compute="_compute_representative_of_member_company", + ) subscription_request_ids = fields.One2many( "subscription.request", "partner_id", string="Subscription request" ) @@ -193,6 +197,19 @@ class ResPartner(models.Model): partner.coop_candidate = is_candidate + @api.multi + @api.depends("parent_id", "representative") + def _compute_fieldname(self): + for partner in self: + member_companies = self.env["res.partner"].search( + [("is_company", "=", True), ("member", "=", True)] + ) + partner.representative_of_member_company = partner in member_companies.mapped( + "child_ids" + ).filtered( + "representative" + ) + @api.multi def has_representative(self): self.ensure_one() diff --git a/easy_my_coop/views/res_partner_view.xml b/easy_my_coop/views/res_partner_view.xml index 44b9659..4e9dad5 100644 --- a/easy_my_coop/views/res_partner_view.xml +++ b/easy_my_coop/views/res_partner_view.xml @@ -31,6 +31,8 @@ + @@ -191,7 +193,7 @@ res.partner form kanban,tree,form - [('cooperator','=',True),('representative','=',True)] + [('representative_of_member_company','=',True)]