From 3751379f1e9a4c215fb6eb898b4ccc67659b9ace Mon Sep 17 00:00:00 2001 From: stephanchrst Date: Tue, 10 May 2022 21:51:50 +0700 Subject: initial commit 2 --- addons/l10n_co_pos/__init__.py | 0 addons/l10n_co_pos/__manifest__.py | 22 ++++++++++++++++ addons/l10n_co_pos/static/src/js/PaymentScreen.js | 31 ++++++++++++++++++++++ addons/l10n_co_pos/static/src/js/pos.js | 32 +++++++++++++++++++++++ addons/l10n_co_pos/static/src/xml/pos.xml | 11 ++++++++ addons/l10n_co_pos/views/templates.xml | 11 ++++++++ addons/l10n_co_pos/views/views.xml | 18 +++++++++++++ 7 files changed, 125 insertions(+) create mode 100644 addons/l10n_co_pos/__init__.py create mode 100644 addons/l10n_co_pos/__manifest__.py create mode 100644 addons/l10n_co_pos/static/src/js/PaymentScreen.js create mode 100644 addons/l10n_co_pos/static/src/js/pos.js create mode 100644 addons/l10n_co_pos/static/src/xml/pos.xml create mode 100644 addons/l10n_co_pos/views/templates.xml create mode 100644 addons/l10n_co_pos/views/views.xml (limited to 'addons/l10n_co_pos') diff --git a/addons/l10n_co_pos/__init__.py b/addons/l10n_co_pos/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/addons/l10n_co_pos/__manifest__.py b/addons/l10n_co_pos/__manifest__.py new file mode 100644 index 00000000..1262a276 --- /dev/null +++ b/addons/l10n_co_pos/__manifest__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +{ + 'name': 'Colombian - Point of Sale', + 'version': '1.0', + 'description': """Colombian - Point of Sale""", + 'category': 'Accounting/Localizations/Point of Sale', + 'auto_install': True, + 'depends': [ + 'l10n_co', + 'point_of_sale' + ], + 'data': [ + 'views/templates.xml', + 'views/views.xml' + ], + 'qweb': [ + 'static/src/xml/pos.xml' + ], + 'license': 'LGPL-3', +} 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 00000000..d7b90711 --- /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 new file mode 100644 index 00000000..ff07dae1 --- /dev/null +++ b/addons/l10n_co_pos/static/src/js/pos.js @@ -0,0 +1,32 @@ +odoo.define('l10n_co_pos.pos', function (require) { +"use strict"; + +var models = require('point_of_sale.models'); + +models.PosModel = models.PosModel.extend({ + is_colombian_country: function () { + return this.company.country.code === 'CO'; + }, +}); + +var _super_order = models.Order.prototype; +models.Order = models.Order.extend({ + export_for_printing: function () { + var result = _super_order.export_for_printing.apply(this, arguments); + result.l10n_co_dian = this.get_l10n_co_dian(); + return result; + }, + set_l10n_co_dian: function (l10n_co_dian) { + this.l10n_co_dian = l10n_co_dian; + }, + get_l10n_co_dian: function () { + return this.l10n_co_dian; + }, + wait_for_push_order: function () { + var result = _super_order.wait_for_push_order.apply(this, arguments); + result = Boolean(result || this.pos.is_colombian_country()); + return result; + } +}); + +}); diff --git a/addons/l10n_co_pos/static/src/xml/pos.xml b/addons/l10n_co_pos/static/src/xml/pos.xml new file mode 100644 index 00000000..6cc28add --- /dev/null +++ b/addons/l10n_co_pos/static/src/xml/pos.xml @@ -0,0 +1,11 @@ + + + + + + +
+
+
+
+
diff --git a/addons/l10n_co_pos/views/templates.xml b/addons/l10n_co_pos/views/templates.xml new file mode 100644 index 00000000..5e38a119 --- /dev/null +++ b/addons/l10n_co_pos/views/templates.xml @@ -0,0 +1,11 @@ + + + + + + diff --git a/addons/l10n_co_pos/views/views.xml b/addons/l10n_co_pos/views/views.xml new file mode 100644 index 00000000..27bb5db6 --- /dev/null +++ b/addons/l10n_co_pos/views/views.xml @@ -0,0 +1,18 @@ + + + + + pos.config.form.view.inherit.l10n_co_pos + pos.config + + + + + + + 0 + + + + + -- cgit v1.2.3