From f3748481ee2ae271935e2d1ecce0a76cc4293ac9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucas=20Lef=C3=A8vre?= Date: Fri, 1 Mar 2019 16:19:32 +0100 Subject: [PATCH] [FIX] hr_payroll: Fix contract access to approve leave When a `hr.leave` is approved, a `resource.calendar.leave` is created in the employee's calendar and in the contract's calendar if it's different. However, a user in `group_holiday_user` but not in `group_hr_contract_manager` does not have access rights to read a contract. This leads to an `AccessError` Fix: use `sudo` to read the contract. --- addons/hr_payroll/models/hr_leave.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/hr_payroll/models/hr_leave.py b/addons/hr_payroll/models/hr_leave.py index 7319835b121..22f5eacc2c1 100644 --- a/addons/hr_payroll/models/hr_leave.py +++ b/addons/hr_payroll/models/hr_leave.py @@ -53,7 +53,7 @@ class HrLeave(models.Model): for leave in self.filtered(lambda l: l.employee_id): - contract = leave.employee_id._get_contracts(leave.date_from, leave.date_to, states=['open', 'pending', 'close']) + contract = leave.employee_id.sudo()._get_contracts(leave.date_from, leave.date_to, states=['open', 'pending', 'close']) if contract and contract.resource_calendar_id != leave.employee_id.resource_calendar_id: resource_leave_values += [{ 'name': leave.name,