Skip to content
Snippets Groups Projects
Commit 63f759b6 authored by Joren Van Onder's avatar Joren Van Onder
Browse files

[FIX] payment_authorize: make it possible to pay after closing popup


Closing the Authorize.net popup with the little "x" doesn't call the
responseHandler. Looking at the documentation (and source) of
AcceptUI.js it seems there's no clean way to detect this.

Because of this the "Pay & Confirm" button remains disabled, requiring
the user to refresh the page.

To solve this don't disable the button at all. Presumably it was added
to avoid issues when spamming the button with clicks on a slow
connection. But simulating this with a slow connection doesn't cause
any issues.

When AcceptJS is not yet loaded it's loaded with web.ajax.loadJS(). It
correctly handles parallel calls before loading is finished and
returns the same promise. AcceptJS correctly ignores subsequent click
events on the button, because it immediately blocks all clicks on the
body (and grays it out).

Using a MutationObserver was also considered but this approach is much
less messy.

opw-2367166

closes odoo/odoo#60571

Signed-off-by: default avatarjorenvo <jorenvo@users.noreply.github.com>
parent 7e40af52
Branches
Tags
No related merge requests found
......@@ -28,7 +28,6 @@ PaymentForm.include({
} else {
var button = ev.target;
}
this.disableButton(button);
var acquirerID = this.getAcquirerIdFromRadio($checkedRadio);
var acquirerForm = this.$('#o_payment_add_token_acq_' + acquirerID);
var inputsForm = $('input', acquirerForm);
......@@ -52,7 +51,6 @@ PaymentForm.include({
errorMessage += message.code + ": " + message.text;
})
acquirerForm.removeClass('d-none');
self.enableButton(button);
return self.displayError(_t('Server Error'), errorMessage);
}
......@@ -74,7 +72,6 @@ PaymentForm.include({
// if the rpc fails, pretty obvious
error.event.preventDefault();
acquirerForm.removeClass('d-none');
self.enableButton(button);
self.displayError(
_t('Server Error'),
_t("We are not able to add your payment method at the moment.") +
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment