From 02b08cbdf869081431c65f6465a9bfa007e2a0df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Hennecart?= Date: Mon, 28 Sep 2020 06:52:05 +0000 Subject: [PATCH] [IMP] website_event: fill attendee info if available when registering To ease the process of the registration to an event, we prefill the first row which holds the info of the attendee (name, email, phone), if they are available. In most cases, the attendee: - Take a ticket for himself - Take a ticket for someone he's responsible of - Take a ticket for someone else who doesn't want to be troubled by that (ex: an assistant of a CEO) task-2346145 closes odoo/odoo#58829 Signed-off-by: Thibault Delavallee (tde) --- addons/website_event/controllers/main.py | 22 ++++++++++++++++++- .../event_templates_page_registration.xml | 9 +++++--- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/addons/website_event/controllers/main.py b/addons/website_event/controllers/main.py index e35d52f89bb..e837c4f1313 100644 --- a/addons/website_event/controllers/main.py +++ b/addons/website_event/controllers/main.py @@ -312,7 +312,27 @@ class WebsiteEventController(http.Controller): availability_check = False if not tickets: return False - return request.env['ir.ui.view']._render_template("website_event.registration_attendee_details", {'tickets': tickets, 'event': event, 'availability_check': availability_check}) + default_first_attendee = {} + if not request.env.user._is_public(): + default_first_attendee = { + "name": request.env.user.name, + "email": request.env.user.email, + "phone": request.env.user.mobile or request.env.user.phone, + } + else: + visitor = request.env['website.visitor']._get_visitor_from_request() + if visitor.email: + default_first_attendee = { + "name": visitor.name, + "email": visitor.email, + "phone": visitor.mobile, + } + return request.env['ir.ui.view']._render_template("website_event.registration_attendee_details", { + 'tickets': tickets, + 'event': event, + 'availability_check': availability_check, + 'default_first_attendee': default_first_attendee, + }) def _process_attendees_form(self, event, form_details): """ Process data posted from the attendee details form. diff --git a/addons/website_event/views/event_templates_page_registration.xml b/addons/website_event/views/event_templates_page_registration.xml index ad454de1a5c..4d5d58805b5 100644 --- a/addons/website_event/views/event_templates_page_registration.xml +++ b/addons/website_event/views/event_templates_page_registration.xml @@ -269,15 +269,18 @@
- +
- +
- +