diff --git a/addons/l10n_co_pos/static/src/js/PaymentScreen.js b/addons/l10n_co_pos/static/src/js/PaymentScreen.js new file mode 100644 index 00000000000..d7b90711244 --- /dev/null +++ b/addons/l10n_co_pos/static/src/js/PaymentScreen.js @@ -0,0 +1,31 @@ +odoo.define('l10n_co_pos.PaymentScreen', function(require) { + 'use strict'; + + const PaymentScreen = require('point_of_sale.PaymentScreen'); + const Registries = require('point_of_sale.Registries'); + const session = require('web.session'); + + const L10nCoPosPaymentScreen = PaymentScreen => + class extends PaymentScreen { + async _postPushOrderResolve(order, order_server_ids) { + try { + if (this.env.pos.is_colombian_country()) { + const result = await this.rpc({ + model: 'pos.order', + method: 'search_read', + domain: [['id', 'in', order_server_ids]], + fields: ['name'], + context: session.user_context, + }); + order.set_l10n_co_dian(result[0].name || false); + } + } finally { + return super._postPushOrderResolve(...arguments); + } + } + }; + + Registries.Component.extend(PaymentScreen, L10nCoPosPaymentScreen); + + return PaymentScreen; +}); diff --git a/addons/l10n_co_pos/static/src/js/pos.js b/addons/l10n_co_pos/static/src/js/pos.js index 8303a9c2337..ff07dae1295 100644 --- a/addons/l10n_co_pos/static/src/js/pos.js +++ b/addons/l10n_co_pos/static/src/js/pos.js @@ -2,9 +2,6 @@ odoo.define('l10n_co_pos.pos', function (require) { "use strict"; var models = require('point_of_sale.models'); -var screens = require('point_of_sale.screens'); -var session = require('web.session'); -var rpc = require('web.rpc'); models.PosModel = models.PosModel.extend({ is_colombian_country: function () { @@ -32,33 +29,4 @@ models.Order = models.Order.extend({ } }); -screens.PaymentScreenWidget.include({ - post_push_order_resolve: function (order, server_ids) { - if (this.pos.is_colombian_country()) { - var _super = this._super; - var args = arguments; - var self = this; - return new Promise (function (resolve, reject) { - rpc.query({ - model: 'pos.order', - method: 'search_read', - domain: [['id', 'in', server_ids]], - fields: ['name'], - context: session.user_context, - }).then(function (result) { - order.set_l10n_co_dian(result[0].name || false); - }).finally(function () { - _super.apply(self, args).then(function () { - resolve(); - }).catch(function (error) { - reject(error); - }); - }); - }); - } else { - return this._super(order, server_ids); - } - }, -}); - }); diff --git a/addons/l10n_co_pos/static/src/xml/pos.xml b/addons/l10n_co_pos/static/src/xml/pos.xml index 24d98d5f7cf..6cc28addc9b 100644 --- a/addons/l10n_co_pos/static/src/xml/pos.xml +++ b/addons/l10n_co_pos/static/src/xml/pos.xml @@ -1,11 +1,11 @@ - - + +
-
+
diff --git a/addons/l10n_co_pos/views/templates.xml b/addons/l10n_co_pos/views/templates.xml index 438508663f9..5e38a119a1a 100644 --- a/addons/l10n_co_pos/views/templates.xml +++ b/addons/l10n_co_pos/views/templates.xml @@ -4,6 +4,7 @@