summaryrefslogtreecommitdiff
path: root/addons/adyen_platforms/static/src/js
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/adyen_platforms/static/src/js
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/adyen_platforms/static/src/js')
-rw-r--r--addons/adyen_platforms/static/src/js/adyen_account_fields.js20
-rw-r--r--addons/adyen_platforms/static/src/js/adyen_account_views.js63
-rw-r--r--addons/adyen_platforms/static/src/js/adyen_transactions.js33
3 files changed, 116 insertions, 0 deletions
diff --git a/addons/adyen_platforms/static/src/js/adyen_account_fields.js b/addons/adyen_platforms/static/src/js/adyen_account_fields.js
new file mode 100644
index 00000000..804f27ea
--- /dev/null
+++ b/addons/adyen_platforms/static/src/js/adyen_account_fields.js
@@ -0,0 +1,20 @@
+odoo.define('adyen_platforms.fields', function (require) {
+"use strict";
+
+var core = require('web.core');
+var FieldSelection = require('web.relational_fields').FieldSelection;
+var field_registry = require('web.field_registry');
+
+var qweb = core.qweb;
+
+var AdyenKYCStatusTag = FieldSelection.extend({
+ _render: function () {
+ this.$el.append(qweb.render('AdyenKYCStatusTag', {
+ value: this.value,
+ }));
+ },
+});
+
+field_registry.add("adyen_kyc_status_tag", AdyenKYCStatusTag);
+
+});
diff --git a/addons/adyen_platforms/static/src/js/adyen_account_views.js b/addons/adyen_platforms/static/src/js/adyen_account_views.js
new file mode 100644
index 00000000..8921a993
--- /dev/null
+++ b/addons/adyen_platforms/static/src/js/adyen_account_views.js
@@ -0,0 +1,63 @@
+odoo.define('adyen_platforms.account_views', function (require) {
+"use strict";
+
+var core = require('web.core');
+var Dialog = require('web.Dialog');
+var FormController = require('web.FormController');
+var FormView = require('web.FormView');
+var viewRegistry = require('web.view_registry');
+
+var _t = core._t;
+var QWeb = core.qweb;
+
+var AdyenAccountFormController = FormController.extend({
+ _saveRecord: function (recordID, options) {
+ if(this.model.isNew(this.handle) && this.canBeSaved()) {
+ var _super = this._super.bind(this, recordID, options);
+ var buttons = [
+ {
+ text: _t("Create"),
+ classes: 'btn-primary o_adyen_confirm',
+ close: true,
+ disabled: true,
+ click: function () {
+ this.close();
+ _super();
+ },
+ },
+ {
+ text: _t("Cancel"),
+ close: true,
+ }
+ ];
+
+ var dialog = new Dialog(this, {
+ size: 'extra-large',
+ buttons: buttons,
+ title: _t("Confirm your Adyen Account Creation"),
+ $content: QWeb.render('AdyenAccountCreationConfirmation', {
+ data: this.model.get(this.handle).data,
+ }),
+ });
+
+ dialog.open().opened(function () {
+ dialog.$el.on('change', '.opt_in_checkbox', function (ev) {
+ ev.preventDefault();
+ dialog.$footer.find('.o_adyen_confirm')[0].disabled = !ev.currentTarget.checked;
+ });
+ });
+ } else if (!this.model.isNew(this.handle)) {
+ return this._super.apply(this, arguments);
+ }
+ },
+});
+
+var AdyenAccountFormView = FormView.extend({
+ config: _.extend({}, FormView.prototype.config, {
+ Controller: AdyenAccountFormController,
+ }),
+});
+
+viewRegistry.add('adyen_account_form', AdyenAccountFormView);
+
+});
diff --git a/addons/adyen_platforms/static/src/js/adyen_transactions.js b/addons/adyen_platforms/static/src/js/adyen_transactions.js
new file mode 100644
index 00000000..3a6fe896
--- /dev/null
+++ b/addons/adyen_platforms/static/src/js/adyen_transactions.js
@@ -0,0 +1,33 @@
+odoo.define('adyen_platforms.transactions', function (require) {
+"use strict";
+
+var ListController = require('web.ListController');
+var ListView = require('web.ListView');
+var viewRegistry = require('web.view_registry');
+
+var TransactionsListController = ListController.extend({
+ buttons_template: 'AdyenTransactionsListView.buttons',
+ events: _.extend({}, ListController.prototype.events, {
+ 'click .o_button_sync_transactions': '_onTransactionsSync',
+ }),
+
+ _onTransactionsSync: function () {
+ var self = this;
+ this._rpc({
+ model: 'adyen.transaction',
+ method: 'sync_adyen_transactions',
+ args: [],
+ }).then(function () {
+ self.trigger_up('reload');
+ });
+ }
+});
+
+var TransactionsListView = ListView.extend({
+ config: _.extend({}, ListView.prototype.config, {
+ Controller: TransactionsListController,
+ }),
+});
+
+viewRegistry.add('adyen_transactions_tree', TransactionsListView);
+});