odex30_standard/hr_base/models/employee_amedment.py

62 lines
2.9 KiB
Python

# -*- coding: utf-8 -*-
from odoo import api, fields, models
# Employee Amedment
class Employee_Amedment(models.Model):
_name = "contract.amedment"
_description = "Contract Amendment"
_rec_name = "employee"
employee = fields.Many2one(comodel_name="hr.employee", required=True)
employee_code = fields.Char("Employee Code", required=True)
contract = fields.Many2one(comodel_name="hr.contract", required=True)
effective_date = fields.Date()
office = fields.Many2one(comodel_name="office.office", required=True)
department = fields.Many2one(comodel_name="hr.department", required=True)
grade = fields.Char()
job = fields.Many2one(comodel_name="designation.info", string="Designation", required=True)
to_office = fields.Many2one(comodel_name="office.office", string="To Office", required=True)
to_department = fields.Many2one(comodel_name="hr.department", string="To Department", required=True)
to_grade = fields.Char("To Grade")
to_job = fields.Many2one(comodel_name="designation.info", string="To Designation", required=True)
c_location = fields.Many2one(comodel_name="res.partner", string="Current Location", required=True)
mol_location = fields.Char("MOL Location", required=True)
r_manager = fields.Many2one(comodel_name="hr.employee", string="Reporting Manager", required=True)
n_location = fields.Many2one(comodel_name="res.partner", string="New Location", required=True)
nmol_location = fields.Char("MOL Location", required=True)
nr_manager = fields.Many2one(comodel_name="hr.employee", string="Reporting Manager", required=True)
remark = fields.Char("Remarks")
@api.onchange("employee")
def onchange_employee(self):
if self.employee:
self.office = self.env["office.office"].search(
[("name", "=", self.employee.office.name)]
)
self.grade = self.employee.grade
self.employee_code = self.employee.employee_code
self.contract = self.env["hr.contract"].search(
[("name", "=", self.employee.name)]
)
self.department = self.env["hr.department"].search(
[("name", "=", self.employee.department_id.name)]
)
self.grade = self.employee.grade
self.mol_location = self.employee.mol_location
self.c_location = self.employee.address_id
self.r_manager = self.employee.performence_manager.id
self.to_department = (
self.to_office
) = self.to_grade = self.to_job = self.c_location = self.mol_location = ""
def validate_changes(self):
self.employee.department_id = self.to_department.id
self.employee.office = self.to_office.id
self.employee.grade = self.to_grade
self.nmol_location = self.mol_location
self.n_location = self.c_location
self.nr_manager = self.r_manager