diff options
| -rw-r--r-- | addons/l10n_co_pos/static/src/js/PaymentScreen.js | 31 | ||||
| -rw-r--r-- | addons/l10n_co_pos/static/src/js/pos.js | 32 | ||||
| -rw-r--r-- | addons/l10n_co_pos/static/src/xml/pos.xml | 6 | ||||
| -rw-r--r-- | addons/l10n_co_pos/views/templates.xml | 1 |
4 files changed, 35 insertions, 35 deletions
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 @@ <?xml version="1.0" encoding="UTF-8"?> <templates id="template" xml:space="preserve"> - <t t-extend="OrderReceipt"> - <t t-jquery=".pos-receipt-order-data" t-operation="append"> + <t t-name="OrderReceipt" t-inherit="point_of_sale.OrderReceipt" t-inherit-mode="extension" owl="1"> + <xpath expr="//div[hasclass('pos-receipt-order-data')]" position="inside"> <t t-if="receipt.l10n_co_dian !== false"> <div style="word-wrap:break-word;"><t t-esc="receipt.l10n_co_dian"/></div> </t> - </t> + </xpath> </t> </templates> 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 @@ <template id="assets" inherit_id="point_of_sale.assets"> <xpath expr="." position="inside"> <script type="text/javascript" src="/l10n_co_pos/static/src/js/pos.js"></script> + <script type="text/javascript" src="/l10n_co_pos/static/src/js/PaymentScreen.js"></script> </xpath> </template> |
