diff --git a/models/scop_partner_staff.py b/models/scop_partner_staff.py index 79972136f49f6e223d42b1c69397f5f7dee8ed75..75a21d7fac4ffae8fca47c72921c17ad1eebba26 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):