From 8016591353ea5774be4dcc0c0097919f07d3b78f Mon Sep 17 00:00:00 2001 From: Victor Feyens Date: Tue, 3 Nov 2020 13:24:45 +0000 Subject: [PATCH] [IMP] event(_*): support batch creation See merge commit for more details. Task ID-2330149 COM PR odoo/odoo#61246 ENT PR odoo/enterprise#14561 --- addons/event/models/event_event.py | 20 +++++++++++--------- addons/website_event/models/event_event.py | 10 +++++----- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/addons/event/models/event_event.py b/addons/event/models/event_event.py index 942fa5f4328..e78651d9a55 100644 --- a/addons/event/models/event_event.py +++ b/addons/event/models/event_event.py @@ -481,16 +481,18 @@ class EventEvent(models.Model): def _read_group_stage_ids(self, stages, domain, order): return self.env['event.stage'].search([]) - @api.model - def create(self, vals): - # Temporary fix for ``seats_limited`` and ``date_tz`` required fields (see ``_compute_from_event_type`` - vals.update(self._sync_required_computed(vals)) + @api.model_create_multi + def create(self, vals_list): + for vals in vals_list: + # Temporary fix for ``seats_limited`` and ``date_tz`` required fields (see ``_compute_from_event_type`` + vals.update(self._sync_required_computed(vals)) - res = super(EventEvent, self).create(vals) - if res.organizer_id: - res.message_subscribe([res.organizer_id.id]) - res.flush() - return res + events = super(EventEvent, self).create(vals_list) + for res in events: + if res.organizer_id: + res.message_subscribe([res.organizer_id.id]) + events.flush() + return events def write(self, vals): res = super(EventEvent, self).write(vals) diff --git a/addons/website_event/models/event_event.py b/addons/website_event/models/event_event.py index 53a433df6a4..5dfcaa5a5c0 100644 --- a/addons/website_event/models/event_event.py +++ b/addons/website_event/models/event_event.py @@ -158,11 +158,11 @@ class Event(models.Model): # CRUD # ------------------------------------------------------------ - @api.model - def create(self, vals): - res = super(Event, self).create(vals) - res._update_website_menus() - return res + @api.model_create_multi + def create(self, vals_list): + events = super().create(vals_list) + events._update_website_menus() + return events def write(self, vals): menus_state_by_field = self._split_menus_state_by_field()