[FIX] hr_holidays: Don't reset leave manager only if manually changed
When changing an employee's parent_id, the leave_manager_id should be updated to the new parent_id's user, UNLESS leave_manager_id was changed manually. i.e leave_manager_id != previous parent_id closes odoo/odoo#37190 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
This commit is contained in:
@@ -154,7 +154,10 @@ class HrEmployeeBase(models.AbstractModel):
|
||||
def write(self, values):
|
||||
if 'parent_id' in values:
|
||||
manager = self.env['hr.employee'].browse(values['parent_id']).user_id
|
||||
values['leave_manager_id'] = values.get('leave_manager_id', manager.id)
|
||||
if manager:
|
||||
to_change = self.filtered(lambda e: e.leave_manager_id == e.parent_id.user_id or not e.leave_manager_id)
|
||||
to_change.write({'leave_manager_id': values.get('leave_manager_id', manager.id)})
|
||||
|
||||
res = super(HrEmployeeBase, self).write(values)
|
||||
if 'parent_id' in values or 'department_id' in values:
|
||||
today_date = fields.Datetime.now()
|
||||
|
||||
Reference in New Issue
Block a user