diff --git a/easy_my_coop/models/partner.py b/easy_my_coop/models/partner.py
index f8ddfd7..4cbcd19 100644
--- a/easy_my_coop/models/partner.py
+++ b/easy_my_coop/models/partner.py
@@ -141,6 +141,11 @@ class ResPartner(models.Model):
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")
@@ -172,6 +177,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"
+ )
+ )
+
def has_representative(self):
if self.child_ids.filtered('representative'):
return True
diff --git a/easy_my_coop/view/res_partner_view.xml b/easy_my_coop/view/res_partner_view.xml
index 101066f..3cad4b5 100644
--- a/easy_my_coop/view/res_partner_view.xml
+++ b/easy_my_coop/view/res_partner_view.xml
@@ -146,7 +146,7 @@
res.partner
form
kanban,tree,form
- [('cooperator','=',True),('representative','=',True)]
+ [('representative_of_member_company','=',True)]