From ea48d408b1e6282cc1689ea611a56c3e825db308 Mon Sep 17 00:00:00 2001 From: Yannick Tivisse Date: Thu, 24 Mar 2022 10:49:27 +0100 Subject: [PATCH] [FIX] hr: Add indexes on employee/leave user_id field From 0.65 to 0.56 sec to create a task. X-original-commit: c3e63a1579159bddfc457dc79cd1a0acb51916e3 --- addons/hr/models/hr_employee.py | 2 +- addons/hr_holidays/models/hr_leave.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/hr/models/hr_employee.py b/addons/hr/models/hr_employee.py index e9dedf49ec1..5914d335534 100644 --- a/addons/hr/models/hr_employee.py +++ b/addons/hr/models/hr_employee.py @@ -33,7 +33,7 @@ class HrEmployeePrivate(models.Model): # resource and user # required on the resource, make sure required="True" set in the view name = fields.Char(string="Employee Name", related='resource_id.name', store=True, readonly=False, tracking=True) - user_id = fields.Many2one('res.users', 'User', related='resource_id.user_id', store=True, readonly=False) + user_id = fields.Many2one('res.users', 'User', related='resource_id.user_id', store=True, readonly=False, index=True) user_partner_id = fields.Many2one(related='user_id.partner_id', related_sudo=False, string="User's partner") active = fields.Boolean('Active', related='resource_id.active', default=True, store=True, readonly=False) company_id = fields.Many2one('res.company', required=True) diff --git a/addons/hr_holidays/models/hr_leave.py b/addons/hr_holidays/models/hr_leave.py index 0908160982d..ad7ca11396d 100644 --- a/addons/hr_holidays/models/hr_leave.py +++ b/addons/hr_holidays/models/hr_leave.py @@ -125,7 +125,7 @@ class HolidaysRequest(models.Model): "\nThe status is 'Refused', when time off request is refused by manager." + "\nThe status is 'Approved', when time off request is approved by manager.") report_note = fields.Text('HR Comments', copy=False, groups="hr_holidays.group_hr_holidays_manager") - user_id = fields.Many2one('res.users', string='User', related='employee_id.user_id', related_sudo=True, compute_sudo=True, store=True, readonly=True) + user_id = fields.Many2one('res.users', string='User', related='employee_id.user_id', related_sudo=True, compute_sudo=True, store=True, readonly=True, index=True) manager_id = fields.Many2one('hr.employee', compute='_compute_from_employee_id', store=True, readonly=False) # leave type configuration holiday_status_id = fields.Many2one(