From 22bbec28e62c0ede943e38533625323d11e93bdd Mon Sep 17 00:00:00 2001
From: Benjamin <benjamin@le-filament.com>
Date: Wed, 29 Apr 2020 18:03:56 +0200
Subject: [PATCH] [update] check tous les champs effectifs > 0

---
 models/scop_partner_staff.py | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/models/scop_partner_staff.py b/models/scop_partner_staff.py
index 7997213..75a21d7 100644
--- a/models/scop_partner_staff.py
+++ b/models/scop_partner_staff.py
@@ -38,8 +38,8 @@ class ScopPartnerStaff(models.Model):
         default=fields.Date.today(),
         required=True,)
     staff_count = fields.Integer("Effectif (EF)", required=True,)
-    staff_shareholder_count = fields.Integer("Eff. Sociétaires (ES)")
-    staff_average = fields.Integer("Eff. Moyen (EM)")
+    staff_shareholder_count = fields.Integer("Eff. Sociétaires (ES)", required=True,)
+    staff_average = fields.Integer("Eff. Moyen (EM)", required=True,)
     questionnaire_id = fields.Many2one(
         comodel_name='scop.questionnaire',
         string='Questionnaire',
@@ -62,16 +62,22 @@ class ScopPartnerStaff(models.Model):
     # ------------------------------------------------------
     # Contrains
     # ------------------------------------------------------
-    @api.constrains('staff_count')
+    @api.constrains(
+        'staff_count',
+        'staff_shareholder_count'
+        'staff_average')
     def _check_staff_count(self):
         """
             Interdit de créer une ligne à 0 sauf lorsque
             cette ligne vient de la liste ministère
         """
         for record in self:
-            if record.staff_count == 0 and record.type_entry not in ('questionnaire', 'questionnaire_inscription'):
+            if ((record.staff_count == 0
+                    or record.staff_shareholder_count == 0
+                    or record.staff_average == 0)
+                    and record.type_entry not in ('questionnaire', 'questionnaire_inscription')):
                 raise ValidationError(
-                    "L'effectif renseigné doit être supérieur à 0.")
+                    "Tous les effectifs doivent être renseignés et supérieurs à 0.")
 
     @api.constrains('effective_date')
     def _check_effective_date(self):
-- 
GitLab