From 79e05e16ec8d326a1fe4c34e4d64e24a766f67ae Mon Sep 17 00:00:00 2001 From: Yannick Tivisse Date: Mon, 7 Aug 2023 14:06:58 +0000 Subject: [PATCH] [FIX] hr: Allow deleting departure reasons closes odoo/odoo#131327 X-original-commit: 5db1538af8c3381ab7c9006e11db0844d8d365c1 Signed-off-by: Yannick Tivisse (yti) --- addons/hr/models/hr_departure_reason.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/addons/hr/models/hr_departure_reason.py b/addons/hr/models/hr_departure_reason.py index e84db0f2761..f30f792266c 100644 --- a/addons/hr/models/hr_departure_reason.py +++ b/addons/hr/models/hr_departure_reason.py @@ -12,6 +12,8 @@ class DepartureReason(models.Model): sequence = fields.Integer("Sequence", default=10) name = fields.Char(string="Reason", required=True, translate=True) + # YTI TODO: Move reason_code to hr + adapt _unlink_except_default_departure_reasons + # to use the codes instead of refs def _get_default_departure_reasons(self): return { @@ -22,4 +24,6 @@ class DepartureReason(models.Model): @api.ondelete(at_uninstall=False) def _unlink_except_default_departure_reasons(self): - raise UserError(_('Default departure reasons cannot be deleted.')) + master_reasons = [self.env.ref('hr.departure_fired', False), self.env.ref('hr.departure_resigned', False), self.env.ref('hr.departure_retired', False)] + if any(reason in master_reasons for reason in self): + raise UserError(_('Default departure reasons cannot be deleted.'))