[IMP] hr: split updating manager method
Extract setting the employee's parent when changing the department manager. This allows customizing the way the managers are handled easily in extension modules. Closes #16490
This commit is contained in:
committed by
Martin Trigaux
parent
39ab200cd3
commit
7ca29909e8
+12
-8
@@ -316,12 +316,16 @@ class Department(models.Model):
|
||||
# subscribe the manager user
|
||||
if manager.user_id:
|
||||
self.message_subscribe_users(user_ids=manager.user_id.ids)
|
||||
employees = self.env['hr.employee']
|
||||
for department in self:
|
||||
employees = employees | self.env['hr.employee'].search([
|
||||
('id', '!=', manager_id),
|
||||
('department_id', '=', department.id),
|
||||
('parent_id', '=', department.manager_id.id)
|
||||
])
|
||||
employees.write({'parent_id': manager_id})
|
||||
# set the employees's parent to the new manager
|
||||
self._update_employee_manager(manager_id)
|
||||
return super(Department, self).write(vals)
|
||||
|
||||
def _update_employee_manager(self, manager_id):
|
||||
employees = self.env['hr.employee']
|
||||
for department in self:
|
||||
employees = employees | self.env['hr.employee'].search([
|
||||
('id', '!=', manager_id),
|
||||
('department_id', '=', department.id),
|
||||
('parent_id', '=', department.manager_id.id)
|
||||
])
|
||||
employees.write({'parent_id': manager_id})
|
||||
|
||||
Reference in New Issue
Block a user