From 06b4ab960ccad560348c96f5af21c664cd794374 Mon Sep 17 00:00:00 2001 From: benjamin <benjamin@le-filament.com> Date: Tue, 22 Aug 2023 17:39:47 +0200 Subject: [PATCH] [update] remove lm_adhesion_id --- models/scop_instance.py | 1 + models/scop_instance_partner.py | 12 +++++------- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/models/scop_instance.py b/models/scop_instance.py index 5340e06..6e50fab 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 c78715f..4efcbb0 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 -- GitLab