diff --git a/easy_my_coop/models/partner.py b/easy_my_coop/models/partner.py
index 4af1da0..64e9ab7 100644
--- a/easy_my_coop/models/partner.py
+++ b/easy_my_coop/models/partner.py
@@ -172,6 +172,11 @@ 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",
+ store=True,
+ compute="_compute_representative_of_member_company",
+ )
subscription_request_ids = fields.One2many(
"subscription.request", "partner_id", string="Subscription request"
)
@@ -194,6 +199,21 @@ class ResPartner(models.Model):
partner.coop_candidate = is_candidate
+ @api.multi
+ @api.depends("parent_id", "representative")
+ def _compute_representative_of_member_company(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 be1c97f..cc03a14 100644
--- a/easy_my_coop/views/res_partner_view.xml
+++ b/easy_my_coop/views/res_partner_view.xml
@@ -195,7 +195,7 @@
res.partner
form
kanban,tree,form
- [('cooperator','=',True),('representative','=',True)]
+ [('representative_of_member_company','=',True)]