commit
36599e0b91
|
|
@ -316,8 +316,37 @@ class HrEmployee(models.Model):
|
|||
|
||||
@api.onchange('department_id')
|
||||
def _onchange_department(self):
|
||||
self.sudo().parent_id = self.sudo().department_id.manager_id
|
||||
self.sudo().coach_id = self.sudo().department_id.parent_id.manager_id
|
||||
# self.sudo().parent_id = self.sudo().department_id.manager_id
|
||||
# self.sudo().coach_id = self.sudo().department_id.parent_id.manager_id
|
||||
for emp in self:
|
||||
dept = emp.department_id
|
||||
manager = dept.manager_id
|
||||
if manager == emp:
|
||||
cur = dept.parent_id
|
||||
while cur:
|
||||
if cur.manager_id and cur.manager_id != emp:
|
||||
manager = cur.manager_id
|
||||
break
|
||||
cur = cur.parent_id
|
||||
else:
|
||||
manager = emp
|
||||
|
||||
emp.sudo().parent_id = manager or False
|
||||
|
||||
coach = False
|
||||
cur = dept.parent_id
|
||||
while cur:
|
||||
# if cur.manager_id:
|
||||
if cur.manager_id and cur.manager_id not in (emp):
|
||||
coach = cur.manager_id
|
||||
break
|
||||
cur = cur.parent_id
|
||||
|
||||
# emp.coach_id = coach or dept.manager_id or False
|
||||
if not coach and dept.manager_id not in (emp):
|
||||
coach = dept.manager_id
|
||||
|
||||
emp.sudo().coach_id = coach or False
|
||||
|
||||
# to Calculate duration service Period
|
||||
@api.onchange('first_hiring_date', 'leaving_date')
|
||||
|
|
|
|||
Loading…
Reference in New Issue