From bd1c5a26993f5f30fa992677f2d050a03e1b0af6 Mon Sep 17 00:00:00 2001 From: "Arthur Pierrot (arpi)" Date: Fri, 1 Mar 2024 13:14:55 +0100 Subject: [PATCH] [FIX] hr_contract: Fix departure date in case of open contracts Purpose ======= Take the last expired contract end date if there is not open contract for the related employee. closes odoo/odoo#156326 Taskid: 3610709 X-original-commit: c6ddecc09361cde4580242dc4f87594e78e51a57 Signed-off-by: Yannick Tivisse (yti) --- addons/hr_contract/wizard/hr_departure_wizard.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/addons/hr_contract/wizard/hr_departure_wizard.py b/addons/hr_contract/wizard/hr_departure_wizard.py index ee1f23ab7f7..b0b49c9adfe 100644 --- a/addons/hr_contract/wizard/hr_departure_wizard.py +++ b/addons/hr_contract/wizard/hr_departure_wizard.py @@ -9,7 +9,10 @@ class HrDepartureWizard(models.TransientModel): _inherit = 'hr.departure.wizard' def _get_employee_departure_date(self): - expired_contract = self.env['hr.contract'].search([('employee_id', '=', self.env.context['active_id']), ('state', '=', 'close')], limit=1, order='date_end desc') + employee = self.env['hr.employee'].browse(self.env.context['active_id']) + if employee.contract_id.state == "open": + return False + expired_contract = self.env['hr.contract'].search([('employee_id', '=', employee.id), ('state', '=', 'close')], limit=1, order='date_end desc') if expired_contract: return expired_contract.date_end return super()._get_employee_departure_date()