[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.
This commit is contained in:
Lucas Lefèvre
2019-03-19 09:35:31 +01:00
committed by Yannick Tivisse
parent aec13abc18
commit f3748481ee
+1 -1
View File
@@ -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,