diff --git a/addons/event_sale/models/event_registration.py b/addons/event_sale/models/event_registration.py index 26a6a64802b..e765e016035 100644 --- a/addons/event_sale/models/event_registration.py +++ b/addons/event_sale/models/event_registration.py @@ -105,7 +105,8 @@ class EventRegistration(models.Model): def _synchronize_so_line_values(self, so_line): if so_line: return { - 'partner_id': False if self.env.user._is_public() else so_line.order_id.partner_id.id, + # Avoid registering public users but respect the portal workflows + 'partner_id': False if self.env.user._is_public() and self.env.user.partner_id == so_line.order_id.partner_id else so_line.order_id.partner_id.id, 'event_id': so_line.event_id.id, 'event_ticket_id': so_line.event_ticket_id.id, 'sale_order_id': so_line.order_id.id,