[FIX] hr_*: access rights issues when changing employee's user

- When changing the user of a `hr.employee` record, access rights errors
  could be triggered.

  Those errors are triggered when a record (for example a leave) is
  linked to this employee and the current user has limited write
  accesses by record rules on this record.

closes odoo/odoo#31032
This commit is contained in:
Toufik Ben Jaa
2019-02-12 15:47:02 +00:00
parent 0191b65b25
commit bed3b4a5cb
3 changed files with 3 additions and 3 deletions
@@ -10,7 +10,7 @@ class GamificationBadgeUserWizard(models.TransientModel):
employee_id = fields.Many2one('hr.employee', string='Employee', required=True)
user_id = fields.Many2one('res.users', string='User',
related='employee_id.user_id', store=True, readonly=True)
related='employee_id.user_id', store=True, readonly=True, compute_sudo=True)
# TODO 12.0/master remove this hack by changing the model
@api.model
+1 -1
View File
@@ -174,7 +174,7 @@ class Holidays(models.Model):
payslip_status = fields.Boolean('Reported in last payslips',
help='Green this button when the leave has been taken into account in the payslip.')
report_note = fields.Text('HR Comments')
user_id = fields.Many2one('res.users', string='User', related='employee_id.user_id', related_sudo=True, store=True, default=lambda self: self.env.uid, readonly=True)
user_id = fields.Many2one('res.users', string='User', related='employee_id.user_id', related_sudo=True, compute_sudo=True, store=True, default=lambda self: self.env.uid, readonly=True)
date_from = fields.Datetime('Start Date', readonly=True, index=True, copy=False,
states={'draft': [('readonly', False)], 'confirm': [('readonly', False)]})
date_to = fields.Datetime('End Date', readonly=True, copy=False,
@@ -46,7 +46,7 @@ class HrTimesheetSheet(models.Model):
name = fields.Char(string="Note", states={'confirm': [('readonly', True)], 'done': [('readonly', True)]})
employee_id = fields.Many2one('hr.employee', string='Employee', default=_default_employee, required=True)
user_id = fields.Many2one('res.users', related='employee_id.user_id', string='User', store=True, readonly=True)
user_id = fields.Many2one('res.users', related='employee_id.user_id', string='User', store=True, readonly=True, compute_sudo=True)
date_from = fields.Date(string='Date From', default=_default_date_from, required=True,
index=True, readonly=True, states={'new': [('readonly', False)]})
date_to = fields.Date(string='Date To', default=_default_date_to, required=True,