summaryrefslogtreecommitdiff
path: root/addons/hr_holidays/models
diff options
context:
space:
mode:
authorYannick Tivisse <yti@odoo.com>2020-05-13 13:22:25 +0000
committerYannick Tivisse <yti@odoo.com>2020-05-15 07:06:59 +0000
commit152097d099a17dbfbfc3e37cd4cf3bf035fae9a4 (patch)
treeb66fbe8ed92361cc354a9df917d29af37d4773b7 /addons/hr_holidays/models
parentb6537c4335356ed660d2acbd914783d4ceea2521 (diff)
[IMP] hr*: Use correct default employee_id based on company
Followup of https://github.com/odoo/odoo/pull/50982/commits Courtesy of https://github.com/sswapnesh In a multi-company environment `self.env['hr.employee'].search([('user_id', '=', self.env.uid)], limit=1)` could be wrong while `employee_id`represents correct employee based on company. https://github.com/odoo/odoo/blob/fb17af76d791488c69eb3829376940b32998d374/addons/hr/models/res_users.py#L13 Making behavior Similar to https://github.com/odoo/odoo/blob/fb17af76d791488c69eb3829376940b32998d374/addons/hr_expense/models/hr_expense.py#L663 closes odoo/odoo#51246 Taskid: 2254687 X-original-commit: d7d1557e7a0f613335a9ca5ca1355d246093f9d1 Related: odoo/enterprise#10599 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Diffstat (limited to 'addons/hr_holidays/models')
-rw-r--r--addons/hr_holidays/models/hr_leave.py10
-rw-r--r--addons/hr_holidays/models/hr_leave_allocation.py8
-rw-r--r--addons/hr_holidays/models/hr_leave_type.py2
3 files changed, 10 insertions, 10 deletions
diff --git a/addons/hr_holidays/models/hr_leave.py b/addons/hr_holidays/models/hr_leave.py
index 8f28767c252..d8e20b808a7 100644
--- a/addons/hr_holidays/models/hr_leave.py
+++ b/addons/hr_holidays/models/hr_leave.py
@@ -890,7 +890,7 @@ class HolidaysRequest(models.Model):
if any(holiday.state != 'confirm' for holiday in self):
raise UserError(_('Time off request must be confirmed ("To Approve") in order to approve it.'))
- current_employee = self.env['hr.employee'].search([('user_id', '=', self.env.uid)], limit=1)
+ current_employee = self.env.user.employee_id
self.filtered(lambda hol: hol.validation_type == 'both').write({'state': 'validate1', 'first_approver_id': current_employee.id})
@@ -906,7 +906,7 @@ class HolidaysRequest(models.Model):
return True
def action_validate(self):
- current_employee = self.env['hr.employee'].search([('user_id', '=', self.env.uid)], limit=1)
+ current_employee = self.env.user.employee_id
if any(holiday.state not in ['confirm', 'validate1'] and holiday.validation_type != 'no_validation' for holiday in self):
raise UserError(_('Time off request must be confirmed in order to approve it.'))
@@ -1014,7 +1014,7 @@ class HolidaysRequest(models.Model):
return True
def action_refuse(self):
- current_employee = self.env['hr.employee'].search([('user_id', '=', self.env.uid)], limit=1)
+ current_employee = self.env.user.employee_id
if any(holiday.state not in ['draft', 'confirm', 'validate', 'validate1'] for holiday in self):
raise UserError(_('Time off request must be confirmed or validated in order to refuse it.'))
@@ -1044,7 +1044,7 @@ class HolidaysRequest(models.Model):
if self.env.is_superuser():
return
- current_employee = self.env['hr.employee'].search([('user_id', '=', self.env.uid)], limit=1)
+ current_employee = self.env.user.employee_id
is_officer = self.env.user.has_group('hr_holidays.group_hr_holidays_user')
is_manager = self.env.user.has_group('hr_holidays.group_hr_holidays_manager')
@@ -1168,7 +1168,7 @@ class HolidaysRequest(models.Model):
def get_unusual_days(self, date_from, date_to=None):
# Checking the calendar directly allows to not grey out the leaves taken
# by the employee
- calendar = self.env['hr.employee'].search([('user_id', '=', self.env.uid)], limit=1).resource_calendar_id
+ calendar = self.env.user.employee_id.resource_calendar_id
if not calendar:
return {}
dfrom = datetime.combine(fields.Date.from_string(date_from), time.min).replace(tzinfo=UTC)
diff --git a/addons/hr_holidays/models/hr_leave_allocation.py b/addons/hr_holidays/models/hr_leave_allocation.py
index b6ae1f720bf..6fda4311739 100644
--- a/addons/hr_holidays/models/hr_leave_allocation.py
+++ b/addons/hr_holidays/models/hr_leave_allocation.py
@@ -495,14 +495,14 @@ class HolidaysAllocation(models.Model):
if any(holiday.state != 'confirm' for holiday in self):
raise UserError(_('Allocation request must be confirmed ("To Approve") in order to approve it.'))
- current_employee = self.env['hr.employee'].search([('user_id', '=', self.env.uid)], limit=1)
+ current_employee = self.env.user.employee_id
self.filtered(lambda hol: hol.validation_type == 'both').write({'state': 'validate1', 'first_approver_id': current_employee.id})
self.filtered(lambda hol: not hol.validation_type == 'both').action_validate()
self.activity_update()
def action_validate(self):
- current_employee = self.env['hr.employee'].search([('user_id', '=', self.env.uid)], limit=1)
+ current_employee = self.env.user.employee_id
for holiday in self:
if holiday.state not in ['confirm', 'validate1']:
raise UserError(_('Allocation request must be confirmed in order to approve it.'))
@@ -539,7 +539,7 @@ class HolidaysAllocation(models.Model):
return childs
def action_refuse(self):
- current_employee = self.env['hr.employee'].search([('user_id', '=', self.env.uid)], limit=1)
+ current_employee = self.env.user.employee_id
if any(holiday.state not in ['confirm', 'validate', 'validate1'] for holiday in self):
raise UserError(_('Allocation request must be confirmed or validated in order to refuse it.'))
@@ -557,7 +557,7 @@ class HolidaysAllocation(models.Model):
""" Check if target state is achievable. """
if self.env.is_superuser():
return
- current_employee = self.env['hr.employee'].search([('user_id', '=', self.env.uid)], limit=1)
+ current_employee = self.env.user.employee_id
if not current_employee:
return
is_officer = self.env.user.has_group('hr_holidays.group_hr_holidays_user')
diff --git a/addons/hr_holidays/models/hr_leave_type.py b/addons/hr_holidays/models/hr_leave_type.py
index 8d8a08c64db..ec57acd1022 100644
--- a/addons/hr_holidays/models/hr_leave_type.py
+++ b/addons/hr_holidays/models/hr_leave_type.py
@@ -257,7 +257,7 @@ class HolidaysType(models.Model):
elif 'default_employee_id' in self._context:
employee_id = self._context['default_employee_id']
else:
- employee_id = self.env['hr.employee'].search([('user_id', '=', self.env.user.id), ('company_id', '=', self.env.company.id)], limit=1).id
+ employee_id = self.env.user.employee_id.id
return employee_id
def _compute_leaves(self):