mirror of
https://github.com/bringout/oca-ocb-hr.git
synced 2026-04-26 07:12:02 +02:00
Initial commit: Hr packages
This commit is contained in:
commit
62531cd146
2820 changed files with 1432848 additions and 0 deletions
41
odoo-bringout-oca-ocb-hr/hr/wizard/hr_departure_wizard.py
Normal file
41
odoo-bringout-oca-ocb-hr/hr/wizard/hr_departure_wizard.py
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
# -*- 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),
|
||||
)
|
||||
archive_private_address = fields.Boolean('Archive Private Address', default=True)
|
||||
|
||||
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
|
||||
|
||||
if self.archive_private_address:
|
||||
# ignore contact links to internal users
|
||||
private_address = employee.address_home_id
|
||||
if private_address and private_address.active and not self.env['res.users'].search([('partner_id', '=', private_address.id)]):
|
||||
private_address.sudo().toggle_active()
|
||||
Loading…
Add table
Add a link
Reference in a new issue