From c7ae22eb3f41734d54d0f1ea5bcfa1e50056b36e Mon Sep 17 00:00:00 2001
From: benjamin <benjamin@le-filament.com>
Date: Mon, 13 Jun 2022 12:13:27 +0200
Subject: [PATCH] [update] liasse fiscale selection + regul wizard view (add
 is_qualified on domain)

---
 models/scop_cotisation_cg.py               | 18 +++++++++++++++---
 wizard/scop_cotisation_cg_regul_wizard.xml |  2 +-
 2 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/models/scop_cotisation_cg.py b/models/scop_cotisation_cg.py
index 0d232d4..de077aa 100644
--- a/models/scop_cotisation_cg.py
+++ b/models/scop_cotisation_cg.py
@@ -654,10 +654,22 @@ class ScopCotisation(models.Model):
             ('av_lf', '>', 0),
             ('av_cg', '>', 0),
         ], order="year desc")
+
         if liasse_ids:
-            for liasse in liasse_ids:
-                if liasse.year > 0:
-                    return liasse
+            last_liasse = liasse_ids[0]
+            if last_liasse.year > 0:
+                # Filtre les liasses de la dernière année disponible
+                last_liasse_all = liasse_ids.filtered(
+                    lambda l: l.year == last_liasse.year)
+                # Si une seule liasse de cette année => on retourne cette liasse
+                if len(last_liasse_all) == 1:
+                    return last_liasse
+                # Priorité ensuite sur les liasses type LM
+                elif last_liasse_all.filtered(lambda l: l.type_id == 'lm'):
+                    return last_liasse_all.filtered(lambda l: l.type_id == 'lm')[0]
+                else:
+                    return last_liasse
+            # Sinon on retourne la première liasse
             return liasse_ids[0]
         else:
             return Liasse
diff --git a/wizard/scop_cotisation_cg_regul_wizard.xml b/wizard/scop_cotisation_cg_regul_wizard.xml
index b4a258d..9e641c7 100644
--- a/wizard/scop_cotisation_cg_regul_wizard.xml
+++ b/wizard/scop_cotisation_cg_regul_wizard.xml
@@ -40,7 +40,7 @@
                                 <group string="Nouveaux calculs">
                                     <field name="date_regul" required="1"/>
                                     <separator/>
-                                    <field name="liasse_fiscale_new_id" domain="[('partner_id', '=', partner_id)]"
+                                    <field name="liasse_fiscale_new_id" domain="[('partner_id', '=', partner_id), ('is_qualified', '=', True)]"
                                            options='{"no_create": True}' help="Nouvelle liasse fiscale à prendre en compte"/>
                                 </group>
                                 <group>
-- 
GitLab