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