[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:
Lucas Lefèvre
2019-09-20 12:30:11 +00:00
parent 79228dd4d0
commit f783a1cc94
+4 -1
View File
@@ -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()