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