diff --git a/models/scop_instance.py b/models/scop_instance.py index 5340e06cd67f53aef83d471847f3d6b06859991a..6e50fabfcf77e842255a579106b67bf1ec9b2e97 100644 --- a/models/scop_instance.py +++ b/models/scop_instance.py @@ -81,6 +81,7 @@ class ScopInstance(models.Model): # We use LM instead of res_partner to get more info ... # ... fields of res_partner are on LM (delegate = true) lm_ids = list() + # TODO: remove LM for partner in partners: lm_partner = partner.get_lm_adhesion() lm_ids.append(lm_partner.id) diff --git a/models/scop_instance_partner.py b/models/scop_instance_partner.py index c78715f3f5e43071997390ecca2a1a912e2b3b4c..4efcbb05fa82e3fb5f608280d900d041807779c1 100644 --- a/models/scop_instance_partner.py +++ b/models/scop_instance_partner.py @@ -85,13 +85,11 @@ class ScopInstancePartner(models.Model): def _compute_amount_adhesion(self): for r in self: if r.state == "positive": - lm = ( - r.partner_id.lm_adhesion_id - if r.partner_id.lm_adhesion_id - else r.partner_id.get_lm_adhesion(r.instance_id.date.year) - ) - effectif = lm.eff_tt - r.amount_adhesion = r.partner_id.get_theorical_amount_adhesion(effectif) + staff_line = r.partner_id.staff_ids.filtered( + lambda s: s.type_entry == "membership" + ).sorted(key="effective_date", reverse=True) + staff_number = staff_line[0].staff_count if staff_line else 0 + r.amount_adhesion = r.partner_id.get_theorical_amount_adhesion(staff_number) else: r.amount_adhesion = 0