summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorJeremy Kersten <jke@odoo.com>2017-10-26 17:02:14 +0200
committerJeremy Kersten <jke@odoo.com>2017-10-26 17:52:21 +0200
commit809aaf9e7b9de28383444d5059b19a67bb513f51 (patch)
tree450dbecb8feabb11e2cd1344d0a86c7d8504e14b /addons
parentab9b5a13e4a610ae74a633e989620d5c3da240be (diff)
[FIX] website_event: avoid double subscription
Before this commit, you was able to double click on the button when are in registration flow. In this case, you subscribe 2 times and so take 2x more seats, what can be annoying when you have a limited room. In the same time, we fix the form in the form that generate strange behaviour like some events not bubbled correctly. The attendee form (into the modal) was inside the registration form. $'attendee_form).on('submit') obviously failed due to this bad dom. This commit closes opw-778191
Diffstat (limited to 'addons')
-rw-r--r--addons/website/static/src/js/website.js2
-rw-r--r--addons/website_event/static/src/js/website_event.js4
-rw-r--r--addons/website_event/views/website_event.xml4
-rw-r--r--addons/website_event_questions/views/website_event_questions_templates.xml2
4 files changed, 7 insertions, 5 deletions
diff --git a/addons/website/static/src/js/website.js b/addons/website/static/src/js/website.js
index 4e5b805fa8c..c353590510e 100644
--- a/addons/website/static/src/js/website.js
+++ b/addons/website/static/src/js/website.js
@@ -228,7 +228,7 @@ base.ready().then(function () {
init_kanban(this);
});
- $('.js_website_submit_form').on('submit', function() {
+ $('body').on('submit', '.js_website_submit_form', function() {
var $buttons = $(this).find('button[type="submit"], a.a-submit');
_.each($buttons, function(btn) {
$(btn).attr('data-loading-text', '<i class="fa fa-spinner fa-spin"></i> ' + $(btn).text()).button('loading');
diff --git a/addons/website_event/static/src/js/website_event.js b/addons/website_event/static/src/js/website_event.js
index 3b2248742a9..b5a31ae7950 100644
--- a/addons/website_event/static/src/js/website_event.js
+++ b/addons/website_event/static/src/js/website_event.js
@@ -9,6 +9,7 @@ $(document).ready(function () {
.off('click')
.removeClass('a-submit')
.click(function (ev) {
+ $(this).attr('disabled', true);
ev.preventDefault();
ev.stopPropagation();
var $form = $(ev.currentTarget).closest('form');
@@ -18,7 +19,8 @@ $(document).ready(function () {
});
ajax.jsonRpc($form.attr('action'), 'call', post).then(function (modal) {
var $modal = $(modal);
- $modal.appendTo($form).modal();
+ $modal.find('.modal-body > div').removeClass('container'); // retrocompatibility - REMOVE ME in master / saas-19
+ $modal.after($form).modal();
$modal.on('click', '.js_goto_event', function () {
$modal.modal('hide');
});
diff --git a/addons/website_event/views/website_event.xml b/addons/website_event/views/website_event.xml
index 69701ce0056..a1c7e8e0588 100644
--- a/addons/website_event/views/website_event.xml
+++ b/addons/website_event/views/website_event.xml
@@ -441,7 +441,7 @@
<template id="registration_attendee_details" name="Registration Attendee Details">
<div id="modal_attendees_registration" class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog modal-lg">
- <form id="attendee_registration" t-attf-action="/event/#{slug(event)}/registration/confirm" method="post">
+ <form id="attendee_registration" t-attf-action="/event/#{slug(event)}/registration/confirm" method="post" class="js_website_submit_form">
<input type="hidden" name="csrf_token" t-att-value="request.csrf_token()"/>
<div class="modal-content">
<div class="modal-header">
@@ -449,7 +449,7 @@
<h4 class="modal-title" id="myModalLabel"><strong>Attendees</strong></h4>
</div>
<div class="modal-body">
- <div class="container">
+ <div class="">
<t t-set="counter_type" t-value="1"/>
<t t-set="counter" t-value="0"/>
<t t-foreach="tickets" t-as="ticket">
diff --git a/addons/website_event_questions/views/website_event_questions_templates.xml b/addons/website_event_questions/views/website_event_questions_templates.xml
index ec9c055e2ae..c12c81a36c9 100644
--- a/addons/website_event_questions/views/website_event_questions_templates.xml
+++ b/addons/website_event_questions/views/website_event_questions_templates.xml
@@ -22,7 +22,7 @@
</xpath>
<!-- Generic questions -->
- <xpath expr="//div[@class='container']/t[last()]" position="after">
+ <xpath expr="//div[hasclass('modal-body')]/div/t[last()]" position="after">
<t t-if="event.general_question_ids">
<h4 class="page-header mt32"><strong>Last questions</strong></h4>
<div class="row">