Files
odoo_source/addons/hr/wizard/hr_departure_wizard.py
T
kusi-odoo 7d9b90308e [FIX] hr, hr_contract: set contract end date when we archive the employee
1) If the contract is running when the employee is archived, we move the contract in the
   expired stage and we set the date of the archive wizard to the
   contract's end date.

2) If the contract has expired when the employee is archived, do not change the date.

task-3373275

closes odoo/odoo#130714

X-original-commit: e84106cdc5ae8015ee0c15a6c842d91dc2da1343
Signed-off-by: Sofie Gvaladze (sgv) <sgv@odoo.com>
Signed-off-by: Kuldeep Singh (kusi) <kusi@odoo.com>
2023-08-07 12:32:37 +02:00

35 lines
1.5 KiB
Python

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class HrDepartureWizard(models.TransientModel):
_name = 'hr.departure.wizard'
_description = 'Departure Wizard'
def _get_employee_departure_date(self):
return self.env['hr.employee'].browse(self.env.context['active_id']).departure_date
def _get_default_departure_date(self):
departure_date = False
if self.env.context.get('active_id'):
departure_date = self._get_employee_departure_date()
return departure_date or fields.Date.today()
departure_reason_id = fields.Many2one("hr.departure.reason", default=lambda self: self.env['hr.departure.reason'].search([], limit=1), required=True)
departure_description = fields.Html(string="Additional Information")
departure_date = fields.Date(string="Departure Date", required=True, default=_get_default_departure_date)
employee_id = fields.Many2one(
'hr.employee', string='Employee', required=True,
default=lambda self: self.env.context.get('active_id', None),
)
def action_register_departure(self):
employee = self.employee_id
if self.env.context.get('toggle_active', False) and employee.active:
employee.with_context(no_wizard=True).toggle_active()
employee.departure_reason_id = self.departure_reason_id
employee.departure_description = self.departure_description
employee.departure_date = self.departure_date