From 20f556644b40e1aef735417f4dd6c9776bc293a2 Mon Sep 17 00:00:00 2001 From: Yannick Tivisse Date: Thu, 24 Feb 2022 09:25:10 +0000 Subject: [PATCH] [IMP] hr*: Avoid creating useless objects on salary simulations Part-of: odoo/odoo#85133 --- addons/hr/models/hr_employee.py | 2 ++ addons/hr_holidays/models/hr_employee.py | 2 ++ addons/hr_skills/models/hr_resume.py | 2 ++ addons/project_timesheet_holidays/models/hr_employee.py | 2 ++ 4 files changed, 8 insertions(+) diff --git a/addons/hr/models/hr_employee.py b/addons/hr/models/hr_employee.py index 176382a7c6f..fcc0fc7a4d9 100644 --- a/addons/hr/models/hr_employee.py +++ b/addons/hr/models/hr_employee.py @@ -286,6 +286,8 @@ class HrEmployeePrivate(models.Model): vals.update(self._sync_user(user, bool(vals.get('image_1920')))) vals['name'] = vals.get('name', user.name) employees = super().create(vals_list) + if self.env.context.get('salary_simulation'): + return employees for employee in employees: if employee.department_id: self.env['mail.channel'].sudo().search([ diff --git a/addons/hr_holidays/models/hr_employee.py b/addons/hr_holidays/models/hr_employee.py index 330e31c54c5..16b9dc985a2 100644 --- a/addons/hr_holidays/models/hr_employee.py +++ b/addons/hr_holidays/models/hr_employee.py @@ -184,6 +184,8 @@ class HrEmployeeBase(models.AbstractModel): @api.model_create_multi def create(self, vals_list): + if self.env.context.get('salary_simulation'): + return super().create(vals_list) approver_group = self.env.ref('hr_holidays.group_hr_holidays_responsible', raise_if_not_found=False) group_updates = [] for vals in vals_list: diff --git a/addons/hr_skills/models/hr_resume.py b/addons/hr_skills/models/hr_resume.py index 79e26312f05..fde2378dd76 100644 --- a/addons/hr_skills/models/hr_resume.py +++ b/addons/hr_skills/models/hr_resume.py @@ -13,6 +13,8 @@ class Employee(models.Model): @api.model_create_multi def create(self, vals_list): res = super(Employee, self).create(vals_list) + if self.env.context.get('salary_simulation'): + return res resume_lines_values = [] for employee in res: line_type = self.env.ref('hr_skills.resume_type_experience', raise_if_not_found=False) diff --git a/addons/project_timesheet_holidays/models/hr_employee.py b/addons/project_timesheet_holidays/models/hr_employee.py index d42514abd6a..dd8b109a210 100644 --- a/addons/project_timesheet_holidays/models/hr_employee.py +++ b/addons/project_timesheet_holidays/models/hr_employee.py @@ -10,6 +10,8 @@ class Employee(models.Model): @api.model_create_multi def create(self, vals_list): employees = super().create(vals_list) + if self.env.context.get('salary_simulation'): + return employees # We need to create timesheet entries for the global time off that are already created # and are planned for after this employee creation date