From 5ae1aea4df83fef39fae5de8982ff8631895d47d Mon Sep 17 00:00:00 2001
From: benjamin <benjamin@le-filament.com>
Date: Thu, 3 Apr 2025 17:09:45 +0200
Subject: [PATCH] [UPD] compute last staff

---
 models/res_partner.py        | 16 ++++++++++++++++
 models/scop_partner_staff.py |  9 ++++++++-
 2 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/models/res_partner.py b/models/res_partner.py
index e369b82..a94e425 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -87,6 +87,22 @@ class ScopPartner(models.Model):
             "target": "new",
         }
 
+    # ------------------------------------------------------
+    # Override parent
+    # ------------------------------------------------------
+    def _get_staff_lines(self):
+        """
+        Retourne la liste des lignes qui ne sont pas liées à une LM en statut ouvert ou
+        publié pour ne pas prendre en compte les lignes d'effectif à 0 (encore non 
+        renseignées)
+        """
+        self.ensure_one()
+        all_staff_ids = super(ScopPartner, self)._get_staff_lines()
+        staff_lm_new_ids = self.staff_ids.filtered(
+            lambda s: s.liste_ministere_id and s.liste_ministere_id.status not in ["1_ouvert", "2_publie"]
+        )
+        return (all_staff_ids - staff_lm_new_ids).sorted(key="effective_date", reverse=True)
+
     # ------------------------------------------------------
     # Business method
     # ------------------------------------------------------
diff --git a/models/scop_partner_staff.py b/models/scop_partner_staff.py
index a0b2be1..393d7b5 100644
--- a/models/scop_partner_staff.py
+++ b/models/scop_partner_staff.py
@@ -1,7 +1,7 @@
 # © 2020 Le Filament (<http://www.le-filament.com>)
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
 
-from odoo import fields, models
+from odoo import api, fields, models
 
 
 class ScopPartnerStaff(models.Model):
@@ -16,6 +16,13 @@ class ScopPartnerStaff(models.Model):
         string="Est une coopérative", related="partner_id.is_cooperative", store=True
     )
 
+    # ------------------------------------------------------
+    # Actions
+    # ------------------------------------------------------
     def archive_facility(self):
         self.partner_id.active = False
         self.liste_ministere_id.lm_maj_effectifs_secondaires()
+
+    # ------------------------------------------------------
+    # Inherit parent
+    # ------------------------------------------------------
-- 
GitLab