From 4cb33cee1612e1cd06cc54bb2779c84b62c7a787 Mon Sep 17 00:00:00 2001 From: Yannick Tivisse Date: Mon, 18 Feb 2019 12:42:20 +0000 Subject: [PATCH] [FIX] hr_payroll: Allow Leaves Officers to validate/refuse leaves Currently payroll officers access rights are required to validate/refuse leaves. Fix this undesired behavior. --- addons/hr_payroll/models/hr_leave.py | 4 ++-- addons/hr_payroll/models/resource.py | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/addons/hr_payroll/models/hr_leave.py b/addons/hr_payroll/models/hr_leave.py index efa1d8bc2ce..8450fdacc17 100644 --- a/addons/hr_payroll/models/hr_leave.py +++ b/addons/hr_payroll/models/hr_leave.py @@ -67,7 +67,7 @@ class HrLeave(models.Model): @api.multi def action_validate(self): super(HrLeave, self).action_validate() - self._cancel_benefit_conflict() + self.sudo()._cancel_benefit_conflict() calendar_leaves = self.env['resource.calendar.leaves'].search([('holiday_id', 'in', self.ids)]) calendar_leaves.write({'benefit_type_id': self.holiday_status_id.benefit_type_id.id}) return True @@ -75,6 +75,6 @@ class HrLeave(models.Model): @api.multi def action_refuse(self): super(HrLeave, self).action_refuse() - benefits = self.env['hr.benefit'].search([('leave_id', 'in', self.ids)]) + benefits = self.env['hr.benefit'].sudo().search([('leave_id', 'in', self.ids)]) benefits.write({'display_warning': False, 'leave_id': None}) return True diff --git a/addons/hr_payroll/models/resource.py b/addons/hr_payroll/models/resource.py index 381b0789c16..d0a525e7854 100644 --- a/addons/hr_payroll/models/resource.py +++ b/addons/hr_payroll/models/resource.py @@ -26,6 +26,7 @@ class ResourceCalendar(models.Model): def _onchange_hours_per_day(self): return super(ResourceCalendar, self)._onchange_hours_per_day() + class ResourceCalendarAttendance(models.Model): _inherit = 'resource.calendar.attendance' @@ -34,8 +35,10 @@ class ResourceCalendarAttendance(models.Model): benefit_type_id = fields.Many2one('hr.benefit.type', 'Benefit Type', default=_default_benefit_type_id) + class ResourceCalendarLeave(models.Model): _inherit = 'resource.calendar.leaves' + benefit_type_id = fields.Many2one('hr.benefit.type', 'Benefit Type')