Odoo18-Base/addons/hr_holidays/wizard/hr_departure_wizard.py
2025-03-10 10:52:11 +07:00

28 lines
1.2 KiB
Python

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from datetime import datetime, timedelta
from odoo import api, fields, models
class HrDepartureWizard(models.TransientModel):
_inherit = 'hr.departure.wizard'
cancel_leaves = fields.Boolean("Cancel Future Time Off", default=True,
help="Cancel all time off after this date.")
archive_allocation = fields.Boolean("Archive Employee Allocations", default=True,
help="Remove employee from existing accrual plans.")
def action_register_departure(self):
super(HrDepartureWizard, self).action_register_departure()
if self.cancel_leaves:
future_leaves = self.env['hr.leave'].search([('employee_id', '=', self.employee_id.id),
('date_to', '>', self.departure_date),
('state', '!=', 'refuse')])
future_leaves.action_refuse()
if self.archive_allocation:
employee_allocations = self.env['hr.leave.allocation'].search([('employee_id', '=', self.employee_id.id)])
employee_allocations.action_archive()