diff --git a/addons/event/models/event_registration.py b/addons/event/models/event_registration.py index 361ac3ad416..c7b7886527d 100644 --- a/addons/event/models/event_registration.py +++ b/addons/event/models/event_registration.py @@ -106,13 +106,13 @@ class EventRegistration(models.Model): # CRUD # ------------------------------------------------------------ - @api.model - def create(self, vals): - registration = super(EventRegistration, self).create(vals) - if registration._check_auto_confirmation(): - registration.sudo().action_confirm() + @api.model_create_multi + def create(self, vals_list): + registrations = super(EventRegistration, self).create(vals_list) + if registrations._check_auto_confirmation(): + registrations.sudo().action_confirm() - return registration + return registrations def write(self, vals): ret = super(EventRegistration, self).write(vals) diff --git a/addons/event_sale/models/event_registration.py b/addons/event_sale/models/event_registration.py index f1dc4a315b0..e057739be10 100644 --- a/addons/event_sale/models/event_registration.py +++ b/addons/event_sale/models/event_registration.py @@ -22,20 +22,22 @@ class EventRegistration(models.Model): action['res_id'] = self.sale_order_id.id return action - @api.model - def create(self, vals): - if vals.get('sale_order_line_id'): - so_line_vals = self._synchronize_so_line_values( - self.env['sale.order.line'].browse(vals['sale_order_line_id']) - ) - vals.update(so_line_vals) - res = super(EventRegistration, self).create(vals) - if res.sale_order_id: - res.message_post_with_view( - 'mail.message_origin_link', - values={'self': res, 'origin': res.sale_order_id}, - subtype_id=self.env.ref('mail.mt_note').id) - return res + @api.model_create_multi + def create(self, vals_list): + for vals in vals_list: + if vals.get('sale_order_line_id'): + so_line_vals = self._synchronize_so_line_values( + self.env['sale.order.line'].browse(vals['sale_order_line_id']) + ) + vals.update(so_line_vals) + registrations = super(EventRegistration, self).create(vals) + for registration in registrations: + if registration.sale_order_id: + registration.message_post_with_view( + 'mail.message_origin_link', + values={'self': registration, 'origin': registration.sale_order_id}, + subtype_id=self.env.ref('mail.mt_note').id) + return registrations def write(self, vals): if vals.get('sale_order_line_id'): diff --git a/addons/website_event_track/models/event_track.py b/addons/website_event_track/models/event_track.py index 80b16d75e16..6a75af9b40a 100644 --- a/addons/website_event_track/models/event_track.py +++ b/addons/website_event_track/models/event_track.py @@ -105,18 +105,19 @@ class Track(models.Model): else: track.date_end = False - @api.model - def create(self, vals): - track = super(Track, self).create(vals) + @api.model_create_multi + def create(self, vals_list): + tracks = super(Track, self).create(vals_list) - track.event_id.message_post_with_view( - 'website_event_track.event_track_template_new', - values={'track': track}, - subject=track.name, - subtype_id=self.env.ref('website_event_track.mt_event_track').id, - ) + for track in tracks: + track.event_id.message_post_with_view( + 'website_event_track.event_track_template_new', + values={'track': track}, + subject=track.name, + subtype_id=self.env.ref('website_event_track.mt_event_track').id, + ) - return track + return tracks def write(self, vals): if 'stage_id' in vals and 'kanban_state' not in vals: