oca-ocb-hr/odoo-bringout-oca-ocb-hr/hr/wizard/hr_contract_template_wizard.py
Ernad Husremovic e1d89e11e3 19.0 vanilla
2026-03-09 09:31:00 +01:00

30 lines
1.4 KiB
Python

# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class HrDepartureWizard(models.TransientModel):
_name = 'hr.version.wizard'
_description = 'Contract Template Wizard'
contract_template_id = fields.Many2one(
'hr.version', string="Contract Template", groups="hr.group_hr_user", required=True,
domain=lambda self: [('company_id', '=', self.env.company.id), ('employee_id', '=', False)],
help="Select a contract template to auto-fill the contract form with predefined values. You can still edit the fields as needed after applying the template.")
def action_load_template(self):
employee_id = self.env.context.get('active_id')
if not employee_id or not self.contract_template_id:
return
employee = self.env['hr.employee'].browse(employee_id)
Version = self.env['hr.version']
whitelist = Version._get_whitelist_fields_from_template()
contract_template_vals = self.contract_template_id.copy_data()[0]
val_list = {
field: value
for field, value in contract_template_vals.items()
if field in whitelist and not self.env['hr.version']._fields[field].related
}
employee.write(val_list)
employee.version_id.contract_template_id = self.contract_template_id
return