[IMP] payment addons: fixed submit buttons: now have type=submit (and not image or nothing) and removed name, because this may cause issues when trying to submit a form manually with type=submit and a name. Also improved js code in website_sale to correctly handle the click binding, the asynchronous call to the server to create the transaction, and then submit the form. As form submission is synchronous in javascript, we cannot use the deferred. Instead we prevent the click event from bubbling, wait for the server to create the transaction, adn then manually submit the form.
This commit is contained in:
parent
ed51e843a2
commit
a6379e2e67
|
@ -20,7 +20,7 @@
|
||||||
<input t-if="tx_values.get('merchantReturnData')" type='hidden' name='merchantReturnData'
|
<input t-if="tx_values.get('merchantReturnData')" type='hidden' name='merchantReturnData'
|
||||||
t-att-value="tx_values.get('merchantReturnData')"/>
|
t-att-value="tx_values.get('merchantReturnData')"/>
|
||||||
<!-- submit -->
|
<!-- submit -->
|
||||||
<button type="image" name="submit" width="100px"
|
<button type="submit" width="100px"
|
||||||
t-att-class="submit_class">
|
t-att-class="submit_class">
|
||||||
<img t-if="not submit_txt" src="/payment_adyen/static/src/img/adyen_icon.png"/>
|
<img t-if="not submit_txt" src="/payment_adyen/static/src/img/adyen_icon.png"/>
|
||||||
<span t-if="submit_txt"><t t-esc="submit_txt"/> <span class="fa fa-long-arrow-right"/></span>
|
<span t-if="submit_txt"><t t-esc="submit_txt"/> <span class="fa fa-long-arrow-right"/></span>
|
||||||
|
|
|
@ -41,7 +41,7 @@
|
||||||
<input type='hidden' name='EXCEPTIONURL' t-att-value='tx_values["EXCEPTIONURL"]'/>
|
<input type='hidden' name='EXCEPTIONURL' t-att-value='tx_values["EXCEPTIONURL"]'/>
|
||||||
<input type='hidden' name='CANCELURL' t-att-value='tx_values["CANCELURL"]'/>
|
<input type='hidden' name='CANCELURL' t-att-value='tx_values["CANCELURL"]'/>
|
||||||
<!-- submit -->
|
<!-- submit -->
|
||||||
<button type="image" name="submit" width="100px"
|
<button type="submit" width="100px"
|
||||||
t-att-class="submit_class">
|
t-att-class="submit_class">
|
||||||
<img t-if="not submit_txt" src="/payment_ogone/static/src/img/ogone_icon.png"/>
|
<img t-if="not submit_txt" src="/payment_ogone/static/src/img/ogone_icon.png"/>
|
||||||
<span t-if="submit_txt"><t t-esc="submit_txt"/> <span class="fa fa-long-arrow-right"/></span>
|
<span t-if="submit_txt"><t t-esc="submit_txt"/> <span class="fa fa-long-arrow-right"/></span>
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
<input t-if="tx_values.get('cancel_return')" type="hidden" name="cancel_return"
|
<input t-if="tx_values.get('cancel_return')" type="hidden" name="cancel_return"
|
||||||
t-att-value="tx_values.get('cancel_return')"/>
|
t-att-value="tx_values.get('cancel_return')"/>
|
||||||
<!-- submit -->
|
<!-- submit -->
|
||||||
<button type="image" name="submit" width="100px"
|
<button type="submit" width="100px"
|
||||||
t-att-class="submit_class">
|
t-att-class="submit_class">
|
||||||
<img t-if="not submit_txt" src="/payment_paypal/static/src/img/paypal_icon.png"/>
|
<img t-if="not submit_txt" src="/payment_paypal/static/src/img/paypal_icon.png"/>
|
||||||
<span t-if="submit_txt"><t t-esc="submit_txt"/> <span class="fa fa-long-arrow-right"/></span>
|
<span t-if="submit_txt"><t t-esc="submit_txt"/> <span class="fa fa-long-arrow-right"/></span>
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
<input type='hidden' name='amount' t-att-value='amount or "0.0"'/>
|
<input type='hidden' name='amount' t-att-value='amount or "0.0"'/>
|
||||||
<input type='hidden' name='currency' t-att-value='currency.name'/>
|
<input type='hidden' name='currency' t-att-value='currency.name'/>
|
||||||
<!-- submit -->
|
<!-- submit -->
|
||||||
<button name="submit" width="100px"
|
<button type="submit" width="100px"
|
||||||
t-att-class="submit_class">
|
t-att-class="submit_class">
|
||||||
<img t-if="not submit_txt" src="/payment_transfer/static/src/img/transfer_icon.png"/>
|
<img t-if="not submit_txt" src="/payment_transfer/static/src/img/transfer_icon.png"/>
|
||||||
<span t-if="submit_txt"><t t-esc="submit_txt"/> <span class="fa fa-long-arrow-right"/></span>
|
<span t-if="submit_txt"><t t-esc="submit_txt"/> <span class="fa fa-long-arrow-right"/></span>
|
||||||
|
|
|
@ -10,15 +10,17 @@ $(document).ready(function () {
|
||||||
.find("input[name='acquirer']:checked").click();
|
.find("input[name='acquirer']:checked").click();
|
||||||
|
|
||||||
// When clicking on payment button: create the tx using json then continue to the acquirer
|
// When clicking on payment button: create the tx using json then continue to the acquirer
|
||||||
$payment.on("click", "button[name='submit']", function (ev) {
|
$('button[type="submit"]').on("click", function (ev) {
|
||||||
var acquirer_id = $(ev.currentTarget).parents('div.oe_sale_acquirer_button').first().data('id');
|
ev.preventDefault();
|
||||||
if (! acquirer_id) {
|
ev.stopPropagation();
|
||||||
return false;
|
var $form = $(ev.currentTarget).parents('form');
|
||||||
}
|
var acquirer_id = $(ev.currentTarget).parents('div.oe_sale_acquirer_button').first().data('id');
|
||||||
var def = openerp.jsonRpc('/shop/payment/transaction/' + acquirer_id, 'call', {});
|
if (! acquirer_id) {
|
||||||
$.when(def).then(function (data) {
|
return false;
|
||||||
return true;
|
}
|
||||||
});
|
openerp.jsonRpc('/shop/payment/transaction/' + acquirer_id, 'call', {}).then(function (data) {
|
||||||
|
$form.submit();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue