From cf6855995cec5f12d610a4e1997f0d6cc3a38d0f Mon Sep 17 00:00:00 2001 From: Victor Feyens Date: Fri, 25 Feb 2022 17:04:41 +0000 Subject: [PATCH] [IMP] resource: batch calendar resources creation closes odoo/odoo#85532 Related: odoo/enterprise#24843 Signed-off-by: Yannick Tivisse (yti) --- addons/resource/models/res_company.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/addons/resource/models/res_company.py b/addons/resource/models/res_company.py index 6879df1aa5d..3ba30d249a1 100644 --- a/addons/resource/models/res_company.py +++ b/addons/resource/models/res_company.py @@ -17,11 +17,20 @@ class ResCompany(models.Model): self.search([('resource_calendar_id', '=', False)])._create_resource_calendar() def _create_resource_calendar(self): - for company in self: - company.resource_calendar_id = self.env['resource.calendar'].create({ - 'name': _('Standard 40 hours/week'), - 'company_id': company.id - }).id + vals_list = [ + company._prepare_resource_calendar_values() + for company in self + ] + resource_calendars = self.env['resource.calendar'].create(vals_list) + for company, calendar in zip(self, resource_calendars): + company.resource_calendar_id = calendar + + def _prepare_resource_calendar_values(self): + self.ensure_one() + return { + 'name': _('Standard 40 hours/week'), + 'company_id': self.id, + } @api.model_create_multi def create(self, vals_list):