summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Martinelli <nim@odoo.com>2019-01-24 09:30:59 +0000
committerNicolas Martinelli <nim@odoo.com>2019-01-25 10:19:12 +0000
commitb2266fae87f9edb64e1a1552166ccec35bd8e24d (patch)
tree4085b7def7dad693a1bd560c14713634004edd26
parentfe36bff420c763a4aeebb9f73ab7c1f342b6b2b2 (diff)
[FIX] website_sale: terms & conditions
- Install website_sale and website_sale_delivery - Activate 'Terms & Condition' on the payment page - Process a shopping cart On the payment page, the 'Terms & Condition' checkbox is unchecked, but the 'Payment' button is enabled. Both `$checkbox.change` and `_onCarrierUpdateAnswer` set the `disabled` property, and conflict. We keep on the HTML node an object with the list of disabled reasons. opw-1923459 Co-authored-by: Nicolas Lempereur <nle@odoo.com> closes odoo/odoo#30504
-rw-r--r--addons/website_sale/static/src/js/website_sale_payment.js5
-rw-r--r--addons/website_sale_delivery/static/src/js/website_sale_delivery.js5
2 files changed, 8 insertions, 2 deletions
diff --git a/addons/website_sale/static/src/js/website_sale_payment.js b/addons/website_sale/static/src/js/website_sale_payment.js
index 45373cea37a..cc104fecc39 100644
--- a/addons/website_sale/static/src/js/website_sale_payment.js
+++ b/addons/website_sale/static/src/js/website_sale_payment.js
@@ -7,9 +7,12 @@ var $checkbox = $("#checkbox_cgv");
if (!$checkbox.length) {
return;
}
+var $pay_button = $('button#o_payment_form_pay');
$checkbox.on('change', function (ev) {
- $('button#o_payment_form_pay').prop('disabled', !ev.target.checked);
+ $pay_button.data('disabled_reasons', $pay_button.data('disabled_reasons') || {});
+ $pay_button.data('disabled_reasons').cgv = !ev.target.checked;
+ $pay_button.prop('disabled', _.contains($pay_button.data('disabled_reasons'), true));
});
$checkbox.change();
});
diff --git a/addons/website_sale_delivery/static/src/js/website_sale_delivery.js b/addons/website_sale_delivery/static/src/js/website_sale_delivery.js
index 476c1bd4faa..39581ee54c8 100644
--- a/addons/website_sale_delivery/static/src/js/website_sale_delivery.js
+++ b/addons/website_sale_delivery/static/src/js/website_sale_delivery.js
@@ -35,7 +35,8 @@ odoo.define('website_sale_delivery.checkout', function (require) {
$carrier_badge.children('span').text(result.new_amount_delivery);
$carrier_badge.removeClass('d-none');
$compute_badge.addClass('d-none');
- $pay_button.prop('disabled', false);
+ $pay_button.data('disabled_reasons').carrier_selection = false;
+ $pay_button.prop('disabled', _.contains($pay_button.data('disabled_reasons'), true));
}
else {
console.error(result.error_message);
@@ -48,6 +49,8 @@ odoo.define('website_sale_delivery.checkout', function (require) {
};
var _onCarrierClick = function(ev) {
+ $pay_button.data('disabled_reasons', $pay_button.data('disabled_reasons') || {});
+ $pay_button.data('disabled_reasons').carrier_selection = true;
$pay_button.prop('disabled', true);
var carrier_id = $(ev.currentTarget).val();
var values = {'carrier_id': carrier_id};