diff --git a/models/mds_applicant.py b/models/mds_applicant.py index 57443e1a071ce95fd3856c28956c8f7e1464f0a2..6c97d2a859cd27f3020495a636ad1e98a0ff43c3 100644 --- a/models/mds_applicant.py +++ b/models/mds_applicant.py @@ -164,8 +164,12 @@ class MDSApplicant(models.Model): self.active = False def action_valid(self): - stage_ids = self.stage_id.search([]) - self.update({"state": "validated", "stage_id": stage_ids[-1].id}) + stage_ids = self.stage_id.search([("is_recruit", "=", True)]) + if not stage_ids: + raise UserError("Aucune étape de fin de recrutement n'est configurée") + if len(stage_ids) > 1: + raise UserError("Plusieurs étapes de fin de recrutement sont configurées") + self.update({"state": "validated", "stage_id": stage_ids[0].id}) def action_refuse(self): self.update({"state": "refused", "active": False}) diff --git a/models/mds_applicant_stage.py b/models/mds_applicant_stage.py index c7a9f61df048f9b3ad86a76049eccfec5bc601e1..ab25465000f3cf2bd45edf17c399288d348c7fae 100644 --- a/models/mds_applicant_stage.py +++ b/models/mds_applicant_stage.py @@ -17,3 +17,4 @@ class MDSApplicantStage(models.Model): sequence = fields.Integer(default=10) requirements = fields.Text("Besoins/Exigences") fold = fields.Boolean("Fermé", default=False) + is_recruit = fields.Boolean("Etape recrutement validé", default=False) diff --git a/views/mds_applicant_stage.xml b/views/mds_applicant_stage.xml index 24b11162f972372a2973559d2f359d8bff2bb581..87f3727f887879f6e60da75acd78c47ba206215f 100644 --- a/views/mds_applicant_stage.xml +++ b/views/mds_applicant_stage.xml @@ -32,6 +32,7 @@ <field name="requirements" /> </group> <group> + <field name="is_recruit" /> <field name="fold" widget="boolean_button" /> </group> </group> @@ -48,6 +49,7 @@ <list> <field name="sequence" widget="handle" /> <field name="name" /> + <field name="is_recruit" /> <field name="fold" /> </list> </field>