62 lines
2.9 KiB
Python
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
|