[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#60870 X-original-commit: 63f759b63284efc5fb9f5dc7dfbe4e2aed982ad0 Signed-off-by: jorenvo <jorenvo@users.noreply.github.com>
This commit is contained in:
@@ -45,7 +45,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);
|
||||
@@ -69,7 +68,6 @@ PaymentForm.include({
|
||||
errorMessage += message.code + ": " + message.text;
|
||||
})
|
||||
acquirerForm.removeClass('d-none');
|
||||
self.enableButton(button);
|
||||
return self.displayError(_t('Server Error'), errorMessage);
|
||||
}
|
||||
|
||||
@@ -91,7 +89,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.") +
|
||||
|
||||
Reference in New Issue
Block a user