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 @@
+