summaryrefslogtreecommitdiff
path: root/addons/website_payment/static
diff options
context:
space:
mode:
authorDamien Bouvy <dbo@odoo.com>2015-07-31 10:05:29 +0200
committerDamien Bouvy <dbo@odoo.com>2015-09-04 16:08:22 +0200
commitf341ca62ab1572fe2e564e2a4d2fa32e671e59e3 (patch)
treec66a8aaec0b692565add18947008f7047c96878a /addons/website_payment/static
parentf8a98d977e5e665689b9adb3954ef55bbf04008b (diff)
[IMP] website_payment: generic payment controller
- generate payment from the frontend using a simple form - send a payment with a simple url - define a default provider for payments
Diffstat (limited to 'addons/website_payment/static')
-rw-r--r--addons/website_payment/static/src/js/payment_transaction.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/addons/website_payment/static/src/js/payment_transaction.js b/addons/website_payment/static/src/js/payment_transaction.js
new file mode 100644
index 00000000000..461bb999114
--- /dev/null
+++ b/addons/website_payment/static/src/js/payment_transaction.js
@@ -0,0 +1,38 @@
+odoo.define('website_payment.website_payment', function (require) {
+"use strict";
+
+var website = require('website.website');
+var ajax = require('web.ajax');
+
+if(!$('.o_website_payment').length) {
+ return $.Deferred().reject("DOM doesn't contain '.o_website_payment'");
+}
+
+// When clicking on payment button: create the tx using json then continue to the acquirer
+var $payment = $(".o_website_payment_form");
+$payment.on("click", 'button[type="submit"],button[name="submit"]', function (ev) {
+ ev.preventDefault();
+ ev.stopPropagation();
+ $(ev.currentTarget).attr('disabled', true);
+ $(ev.currentTarget).prepend('<i class="fa fa-refresh fa-spin"></i> ');
+ var $form = $(ev.currentTarget).parents('form');
+ var data =$("div[class~='o_website_payment_new_payment']").data();
+ console.log(data);
+ ajax.jsonRpc('/website_payment/transaction/', 'call', data).then(function (result) {
+ $form.submit();
+ });
+
+ function getFormData($form){
+ var unindexed_array = $form.serializeArray();
+ var indexed_array = {};
+
+ $.map(unindexed_array, function(n, i){
+ indexed_array[n.name] = n.value;
+ });
+
+ return indexed_array;
+ }
+});
+
+
+});