Currently, track proposals are submitted through an HTML form with an "action" attribute, which requires that the associated route returns a redirect response. However, redirecting to a different page comes with its set of issues. Indeed, when the track is submitted, the user that just submitted the track no longer has access to it (because it's not published). In 157a1d77058da97954edc9efba6ab9f43c7d13a2 We attempted to resolve this issue by checking if the partner set on the track is the same as the partner set on the website.visitor record. However, this does not handle every use cases since when specifying different contact information, we create a different res.partner, making the check fail. In this commit, we rework the track proposal submission to use AJAX instead. This allows to dynamically show a "success" message while staying on the same page, removing the need for redirects and "complex" ACLs checks. While the main goal of this change is to avoid the need for that security check, it also has a few additional minor advantages: - Slightly faster UI, as you don't have to wait for a full page reload - Fewer routes to maintain - Easier and more thorough validation handling (current code returns a ugly error page if validation fails server-side) - Code makes a bit more sense, as we don't have a template that varies from "form" to "success message" depending on the presence of a "track" variable Task-2618734 UPG PR odoo/upgrade#2722 closes odoo/odoo#74848 Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
64 lines
2.5 KiB
Python
64 lines
2.5 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
{
|
|
'name': 'Advanced Events',
|
|
'category': 'Marketing',
|
|
'summary': 'Sponsors, Tracks, Agenda, Event News',
|
|
'version': '1.3',
|
|
'description': "",
|
|
'depends': ['website_event'],
|
|
'data': [
|
|
'security/ir.model.access.csv',
|
|
'security/event_track_security.xml',
|
|
'data/event_data.xml',
|
|
'data/mail_data.xml',
|
|
'data/mail_template_data.xml',
|
|
'data/event_track_data.xml',
|
|
'views/mail_templates.xml',
|
|
'views/event_templates.xml',
|
|
'views/event_track_templates_agenda.xml',
|
|
'views/event_track_templates_list.xml',
|
|
'views/event_track_templates_reminder.xml',
|
|
'views/event_track_templates_page.xml',
|
|
'views/event_track_templates_proposal.xml',
|
|
'views/website_templates.xml',
|
|
'views/event_track_views.xml',
|
|
'views/event_track_location_views.xml',
|
|
'views/event_track_tag_views.xml',
|
|
'views/event_track_stage_views.xml',
|
|
'views/event_track_visitor_views.xml',
|
|
'views/event_event_views.xml',
|
|
'views/event_type_views.xml',
|
|
'views/res_config_settings_view.xml',
|
|
'views/website_visitor_views.xml',
|
|
'views/event_menus.xml',
|
|
],
|
|
'demo': [
|
|
'data/event_demo.xml',
|
|
'data/event_track_location_demo.xml',
|
|
'data/event_track_tag_demo.xml',
|
|
'data/event_track_demo.xml',
|
|
'data/event_track_demo_description.xml',
|
|
'data/event_track_visitor_demo.xml',
|
|
],
|
|
'assets': {
|
|
'web.assets_frontend': [
|
|
'website_event_track/static/src/scss/event_track_templates.scss',
|
|
'website_event_track/static/src/scss/event_track_templates_online.scss',
|
|
'website_event_track/static/src/scss/pwa_frontend.scss',
|
|
'website_event_track/static/src/js/website_event_track.js',
|
|
'website_event_track/static/src/js/website_event_track_proposal_form.js',
|
|
'website_event_track/static/src/js/website_event_track_proposal_form_tags.js',
|
|
'website_event_track/static/src/js/event_track_reminder.js',
|
|
'website_event_track/static/src/js/event_track_timer.js',
|
|
'website_event_track/static/src/js/website_event_pwa_widget.js',
|
|
'website_event_track/static/lib/idb-keyval/idb-keyval.js',
|
|
],
|
|
'web.assets_qweb': [
|
|
'website_event_track/static/src/xml/event_track_proposal_templates.xml',
|
|
],
|
|
},
|
|
'license': 'LGPL-3',
|
|
}
|