diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
| commit | 3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch) | |
| tree | a44932296ef4a9b71d5f010906253d8c53727726 /addons/l10n_co_pos | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/l10n_co_pos')
| -rw-r--r-- | addons/l10n_co_pos/__init__.py | 0 | ||||
| -rw-r--r-- | addons/l10n_co_pos/__manifest__.py | 22 | ||||
| -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 | 11 | ||||
| -rw-r--r-- | addons/l10n_co_pos/views/templates.xml | 11 | ||||
| -rw-r--r-- | addons/l10n_co_pos/views/views.xml | 18 |
7 files changed, 125 insertions, 0 deletions
diff --git a/addons/l10n_co_pos/__init__.py b/addons/l10n_co_pos/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/addons/l10n_co_pos/__init__.py 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 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<templates id="template" xml:space="preserve"> + <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> + </xpath> + </t> +</templates> 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 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + + <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> + +</odoo> 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 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + + <record id="pos_config_view_form" model="ir.ui.view"> + <field name="name">pos.config.form.view.inherit.l10n_co_pos</field> + <field name="model">pos.config</field> + <field name="inherit_id" ref="point_of_sale.pos_config_view_form"/> + <field name="arch" type="xml"> + <xpath expr="//div[@id='order_reference']" position="attributes"> + <attribute name="groups"></attribute> + </xpath> + <xpath expr="//field[@name='sequence_id']" position="attributes"> + <attribute name="readonly">0</attribute> + </xpath> + </field> + </record> + +</odoo> |
