From 0b23063150e6b243401c8fe445454aed62e2d3a3 Mon Sep 17 00:00:00 2001
From: benjamin <benjamin@le-filament.com>
Date: Wed, 23 Aug 2023 17:46:01 +0200
Subject: [PATCH] [update] ad staff line membership function

---
 models/res_partner.py        | 18 +++++++++---------
 models/scop_adhesion_file.py |  3 ++-
 2 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/models/res_partner.py b/models/res_partner.py
index f67d256..1f87989 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -334,10 +334,8 @@ class ScopPartner(models.Model):
         @return : True
         """
         # Check Staff
-        staff_line = self.staff_ids.filtered(
-            lambda s: s.type_entry == "membership"
-        ).sorted(key="effective_date", reverse=True)
-        if not (staff_line or staff_line[0].staff_count > 0):
+        staff_line = self.get_last_membership_staff()
+        if not (staff_line or staff_line.staff_count > 0):
             raise UserError(_("Les effectifs à l'adhésion ne sont pas renseignés."))
         # Check financial datas
         if not self.liasse_membership_id:
@@ -415,13 +413,15 @@ class ScopPartner(models.Model):
                 "extranet_service_access": True,
             }
         )
-
-        # TODO: Supprimer ?
-        # set liasse_fiscale_adhesion as qualified
-        # self.lm_adhesion_id.scop_liasse_fiscale_id.write({"is_qualified": True})
-
         return True
 
+    def get_last_membership_staff(self):
+        self.ensure_one()
+        staff_line = self.staff_ids.filtered(
+            lambda s: s.type_entry == "membership"
+        ).sorted(key="effective_date", reverse=True)
+        return staff_line[0] if staff_line else False
+
 
 class ResPartnerPrescriberCanal(models.Model):
     _name = "res.partner.prescriber.canal"
diff --git a/models/scop_adhesion_file.py b/models/scop_adhesion_file.py
index 661d9ef..ba88815 100644
--- a/models/scop_adhesion_file.py
+++ b/models/scop_adhesion_file.py
@@ -8,10 +8,11 @@ class ScopAdhesionFiles(models.Model):
     _name = "scop.adhesion.file"
     _description = "Documents pour adhésion des coops"
 
-    name = fields.Char("Nom du fichier")
+    name = fields.Char("Nom du fichier", required=True)
     coop_type_id = fields.Many2one(
         comodel_name="res.partner.cooperative.form",
         string="Type de coopérative",
+        required=True,
     )
     is_compulsory = fields.Boolean("Obligatoire")
     type_process = fields.Selection(
-- 
GitLab