diff --git a/addons/hr_holidays/models/hr.py b/addons/hr_holidays/models/hr.py index 7767b648aa8..dbd54ab1143 100644 --- a/addons/hr_holidays/models/hr.py +++ b/addons/hr_holidays/models/hr.py @@ -218,7 +218,12 @@ class Employee(models.Model): def write(self, values): res = super(Employee, self).write(values) - if 'parent_id' in values: + if 'parent_id' in values or 'department_id' in values: holidays = self.env['hr.holidays'].search([('state', 'in', ['draft', 'confirm']), ('employee_id', 'in', self.ids)]) - holidays.write({'manager_id': values['parent_id']}) + hr_vals = {} + if values.get('parent_id') is not None: + hr_vals['manager_id'] = values['parent_id'] + if values.get('department_id') is not None: + hr_vals['department_id'] = values['department_id'] + holidays.write(hr_vals) return res diff --git a/addons/hr_holidays/models/hr_holidays.py b/addons/hr_holidays/models/hr_holidays.py index 5706317a019..4ab452fe1f3 100644 --- a/addons/hr_holidays/models/hr_holidays.py +++ b/addons/hr_holidays/models/hr_holidays.py @@ -197,7 +197,7 @@ class Holidays(models.Model): "\nChoose 'Allocation Request' if you want to increase the number of leaves available for someone") parent_id = fields.Many2one('hr.holidays', string='Parent') linked_request_ids = fields.One2many('hr.holidays', 'parent_id', string='Linked Requests') - department_id = fields.Many2one('hr.department', related='employee_id.department_id', string='Department', readonly=True, store=True) + department_id = fields.Many2one('hr.department', string='Department', readonly=True) category_id = fields.Many2one('hr.employee.category', string='Employee Tag', readonly=True, states={'draft': [('readonly', False)], 'confirm': [('readonly', False)]}, help='Category of Employee') holiday_type = fields.Selection([ @@ -216,6 +216,7 @@ class Holidays(models.Model): @api.onchange('employee_id') def _onchange_employee_id(self): self.manager_id = self.employee_id and self.employee_id.parent_id + self.department_id = self.employee_id and self.employee_id.department_id @api.multi @api.depends('number_of_days_temp', 'type')