diff --git a/pos_ticket_extra_company_info/README.rst b/pos_ticket_extra_company_info/README.rst new file mode 100644 index 0000000000..d24587c324 --- /dev/null +++ b/pos_ticket_extra_company_info/README.rst @@ -0,0 +1,97 @@ +================================== +Point of Sale - Extra Company Info +================================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:713c1aa3516c68d3253a27171d59d1a618f063c11662a006eddb6376f2fbfd7a + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fpos-lightgray.png?logo=github + :target: https://github.com/OCA/pos/tree/16.0/pos_ticket_extra_company_info + :alt: OCA/pos +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/pos-16-0/pos-16-0-pos_ticket_extra_company_info + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/pos&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module extends the functionality of Point of Sale module. + +It adds missing company fields on PoS ticket. For instance: + +- company address +- company registry + + +**Without the module** + +.. figure:: https://raw.githubusercontent.com/OCA/pos/16.0/pos_ticket_extra_company_info/static/description/ticket_no_proxy_before.png + + +**With the module** +.. figure:: https://raw.githubusercontent.com/OCA/pos/16.0/pos_ticket_extra_company_info/static/description/ticket_no_proxy_after.png + +**Table of contents** + +.. contents:: + :local: + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* GRAP + +Contributors +~~~~~~~~~~~~ + +* Sylvain LE GAL (https://twitter.com/legalsylvain) + +Other credits +~~~~~~~~~~~~~ + +The development of this module has been financially supported by: + +* GRAP, Groupement Régional Alimentaire de Proximité (http://www.grap.coop) + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/pos `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/pos_ticket_extra_company_info/__init__.py b/pos_ticket_extra_company_info/__init__.py new file mode 100644 index 0000000000..0650744f6b --- /dev/null +++ b/pos_ticket_extra_company_info/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/pos_ticket_extra_company_info/__manifest__.py b/pos_ticket_extra_company_info/__manifest__.py new file mode 100644 index 0000000000..43e8c04f28 --- /dev/null +++ b/pos_ticket_extra_company_info/__manifest__.py @@ -0,0 +1,21 @@ +# Copyright (C) 2023 - Today: GRAP (http://www.grap.coop) +# @author: Sylvain LE GAL (https://twitter.com/legalsylvain) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +{ + "name": "Point of Sale - Extra Company Info", + "summary": "Add extra company infos on the ticket", + "version": "16.0.1.0.0", + "category": "Sales/Point Of Sale", + "website": "https://github.com/OCA/pos", + "author": "GRAP, Odoo Community Association (OCA)", + "license": "AGPL-3", + "depends": ["point_of_sale"], + "assets": { + "point_of_sale.assets": [ + "pos_ticket_extra_company_info/static/src/js/models.esm.js", + "pos_ticket_extra_company_info/static/src/xml/OrderReceipt.xml", + ], + }, + "installable": True, +} diff --git a/pos_ticket_extra_company_info/i18n/fr.po b/pos_ticket_extra_company_info/i18n/fr.po new file mode 100644 index 0000000000..254129ae49 --- /dev/null +++ b/pos_ticket_extra_company_info/i18n/fr.po @@ -0,0 +1,38 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * pos_ticket_extra_company_info +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-17 23:14+0000\n" +"PO-Revision-Date: 2024-01-17 23:14+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: pos_ticket_extra_company_info +#: model:ir.model,name:pos_ticket_extra_company_info.model_res_company +msgid "Companies" +msgstr "Sociétés" + +#. module: pos_ticket_extra_company_info +#. odoo-javascript +#: code:addons/pos_ticket_extra_company_info/static/src/xml/OrderReceipt.xml:0 +#, python-format +msgid "Company Registry:" +msgstr "RCS :" + +#. module: pos_ticket_extra_company_info +#: model:ir.model,name:pos_ticket_extra_company_info.model_pos_session +msgid "Point of Sale Session" +msgstr "Session du point de vente" + +#. module: pos_ticket_extra_company_info +#: model:ir.model.fields,field_description:pos_ticket_extra_company_info.field_res_company__pos_ticket_address +msgid "Pos Ticket Address" +msgstr "Adresse sur le ticket de caisse" diff --git a/pos_ticket_extra_company_info/i18n/it.po b/pos_ticket_extra_company_info/i18n/it.po new file mode 100644 index 0000000000..0fb8174a4c --- /dev/null +++ b/pos_ticket_extra_company_info/i18n/it.po @@ -0,0 +1,56 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * pos_ticket_extra_company_info +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-10-13 14:36+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: pos_ticket_extra_company_info +#. openerp-web +#: code:addons/pos_ticket_extra_company_info/static/src/xml/pos_ticket_extra_company_info.xml:27 +#: code:addons/pos_ticket_extra_company_info/static/src/xml/pos_ticket_extra_company_info.xml:53 +#, python-format +msgid "Company Registry:" +msgstr "Registro azienda:" + +#. module: pos_ticket_extra_company_info +#. openerp-web +#: code:addons/pos_ticket_extra_company_info/static/src/xml/pos_ticket_extra_company_info.xml:33 +#, python-format +msgid "Email:" +msgstr "E-mail:" + +#. module: pos_ticket_extra_company_info +#: model:ir.model,name:pos_ticket_extra_company_info.model_pos_config +msgid "Point of Sale Configuration" +msgstr "Configurazione punto vendita" + +#. module: pos_ticket_extra_company_info +#: model:ir.model.fields,field_description:pos_ticket_extra_company_info.field_pos_config__ticket_address +msgid "Ticket Address" +msgstr "Indirizzo biglietto" + +#. module: pos_ticket_extra_company_info +#. openerp-web +#: code:addons/pos_ticket_extra_company_info/static/src/xml/pos_ticket_extra_company_info.xml:24 +#, python-format +msgid "VAT:" +msgstr "IVA:" + +#. module: pos_ticket_extra_company_info +#. openerp-web +#: code:addons/pos_ticket_extra_company_info/static/src/xml/pos_ticket_extra_company_info.xml:30 +#, python-format +msgid "Website:" +msgstr "Sito web:" diff --git a/pos_ticket_extra_company_info/i18n/pos_ticket_extra_company_info.pot b/pos_ticket_extra_company_info/i18n/pos_ticket_extra_company_info.pot new file mode 100644 index 0000000000..79477babae --- /dev/null +++ b/pos_ticket_extra_company_info/i18n/pos_ticket_extra_company_info.pot @@ -0,0 +1,38 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * pos_ticket_extra_company_info +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-17 23:10+0000\n" +"PO-Revision-Date: 2024-01-17 23:10+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: pos_ticket_extra_company_info +#: model:ir.model,name:pos_ticket_extra_company_info.model_res_company +msgid "Companies" +msgstr "" + +#. module: pos_ticket_extra_company_info +#. odoo-javascript +#: code:addons/pos_ticket_extra_company_info/static/src/xml/OrderReceipt.xml:0 +#, python-format +msgid "Company Registry:" +msgstr "" + +#. module: pos_ticket_extra_company_info +#: model:ir.model,name:pos_ticket_extra_company_info.model_pos_session +msgid "Point of Sale Session" +msgstr "" + +#. module: pos_ticket_extra_company_info +#: model:ir.model.fields,field_description:pos_ticket_extra_company_info.field_res_company__pos_ticket_address +msgid "Pos Ticket Address" +msgstr "" \ No newline at end of file diff --git a/pos_ticket_extra_company_info/models/__init__.py b/pos_ticket_extra_company_info/models/__init__.py new file mode 100644 index 0000000000..7081b2b8a4 --- /dev/null +++ b/pos_ticket_extra_company_info/models/__init__.py @@ -0,0 +1,2 @@ +from . import pos_session +from . import res_company diff --git a/pos_ticket_extra_company_info/models/pos_session.py b/pos_ticket_extra_company_info/models/pos_session.py new file mode 100644 index 0000000000..ffc4689097 --- /dev/null +++ b/pos_ticket_extra_company_info/models/pos_session.py @@ -0,0 +1,16 @@ +# Copyright (C) 2024 - Today: GRAP (http://www.grap.coop) +# @author: Sylvain LE GAL (https://twitter.com/legalsylvain) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import models + + +class PosSession(models.Model): + _inherit = "pos.session" + + def _loader_params_res_company(self): + result = super()._loader_params_res_company() + result["search_params"]["fields"].extend( + ["pos_ticket_address", "company_registry"] + ) + return result diff --git a/pos_ticket_extra_company_info/models/res_company.py b/pos_ticket_extra_company_info/models/res_company.py new file mode 100644 index 0000000000..2ac1dc9d07 --- /dev/null +++ b/pos_ticket_extra_company_info/models/res_company.py @@ -0,0 +1,18 @@ +# Copyright (C) 2023 - Today: GRAP (http://www.grap.coop) +# @author: Sylvain LE GAL (https://twitter.com/legalsylvain) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import fields, models + + +class ResCompany(models.Model): + _inherit = "res.company" + + pos_ticket_address = fields.Html(compute="_compute_pos_ticket_address") + + def _compute_pos_ticket_address(self): + for company in self: + company.pos_ticket_address = company.partner_id.with_context( + show_address_only=True, + html_format=True, + )._get_name() diff --git a/pos_ticket_extra_company_info/readme/CONTRIBUTORS.rst b/pos_ticket_extra_company_info/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000000..ae6f43a86d --- /dev/null +++ b/pos_ticket_extra_company_info/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Sylvain LE GAL (https://twitter.com/legalsylvain) diff --git a/pos_ticket_extra_company_info/readme/CREDITS.rst b/pos_ticket_extra_company_info/readme/CREDITS.rst new file mode 100644 index 0000000000..bc2fc4b5af --- /dev/null +++ b/pos_ticket_extra_company_info/readme/CREDITS.rst @@ -0,0 +1,3 @@ +The development of this module has been financially supported by: + +* GRAP, Groupement Régional Alimentaire de Proximité (http://www.grap.coop) diff --git a/pos_ticket_extra_company_info/readme/DESCRIPTION.rst b/pos_ticket_extra_company_info/readme/DESCRIPTION.rst new file mode 100644 index 0000000000..5de85d8d6b --- /dev/null +++ b/pos_ticket_extra_company_info/readme/DESCRIPTION.rst @@ -0,0 +1,15 @@ +This module extends the functionality of Point of Sale module. + +It adds missing company fields on PoS ticket. For instance: + +- company address +- company registry + + +**Without the module** + +.. figure:: ../static/description/ticket_no_proxy_before.png + + +**With the module** +.. figure:: ../static/description/ticket_no_proxy_after.png \ No newline at end of file diff --git a/pos_ticket_extra_company_info/static/description/icon.png b/pos_ticket_extra_company_info/static/description/icon.png new file mode 100644 index 0000000000..3a0328b516 Binary files /dev/null and b/pos_ticket_extra_company_info/static/description/icon.png differ diff --git a/pos_ticket_extra_company_info/static/description/index.html b/pos_ticket_extra_company_info/static/description/index.html new file mode 100644 index 0000000000..8a9c84df1a --- /dev/null +++ b/pos_ticket_extra_company_info/static/description/index.html @@ -0,0 +1,440 @@ + + + + + + +Point of Sale - Extra Company Info + + + +
+

Point of Sale - Extra Company Info

+ + +

Beta License: AGPL-3 OCA/pos Translate me on Weblate Try me on Runboat

+

This module extends the functionality of Point of Sale module.

+

It adds missing company fields on PoS ticket. For instance:

+
    +
  • company address
  • +
  • company registry
  • +
+

Without the module

+
+https://raw.githubusercontent.com/OCA/pos/16.0/pos_ticket_extra_company_info/static/description/ticket_no_proxy_before.png +
+

With the module +.. figure:: https://raw.githubusercontent.com/OCA/pos/16.0/pos_ticket_extra_company_info/static/description/ticket_no_proxy_after.png

+

Table of contents

+ +
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • GRAP
  • +
+
+ +
+

Other credits

+

The development of this module has been financially supported by:

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

This module is part of the OCA/pos project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/pos_ticket_extra_company_info/static/src/js/models.esm.js b/pos_ticket_extra_company_info/static/src/js/models.esm.js new file mode 100644 index 0000000000..f9829ce7d6 --- /dev/null +++ b/pos_ticket_extra_company_info/static/src/js/models.esm.js @@ -0,0 +1,23 @@ +/* +Copyright (C) 2024 - Today: GRAP (http://www.grap.coop) +@author: Sylvain LE GAL (https://twitter.com/legalsylvain) +License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +*/ + +odoo.define("pos_discount_all.models", function (require) { + const {Order} = require("point_of_sale.models"); + const Registries = require("point_of_sale.Registries"); + + const OrderTicketExtraInfo = (OriginalOrder) => + class extends OriginalOrder { + export_for_printing() { + var receipt = super.export_for_printing(...arguments); + const company = this.pos.company; + receipt.company.pos_ticket_address = company.pos_ticket_address; + receipt.company.company_registry = company.company_registry; + return receipt; + } + }; + + Registries.Model.extend(Order, OrderTicketExtraInfo); +}); diff --git a/pos_ticket_extra_company_info/static/src/xml/OrderReceipt.xml b/pos_ticket_extra_company_info/static/src/xml/OrderReceipt.xml new file mode 100644 index 0000000000..303126e3d5 --- /dev/null +++ b/pos_ticket_extra_company_info/static/src/xml/OrderReceipt.xml @@ -0,0 +1,23 @@ + + + + + + + +
+ +
+
+ +
+ Company Registry: +
+
+
+ +
diff --git a/setup/pos_ticket_extra_company_info/odoo/addons/pos_ticket_extra_company_info b/setup/pos_ticket_extra_company_info/odoo/addons/pos_ticket_extra_company_info new file mode 120000 index 0000000000..2c2049521f --- /dev/null +++ b/setup/pos_ticket_extra_company_info/odoo/addons/pos_ticket_extra_company_info @@ -0,0 +1 @@ +../../../../pos_ticket_extra_company_info \ No newline at end of file diff --git a/setup/pos_ticket_extra_company_info/setup.py b/setup/pos_ticket_extra_company_info/setup.py new file mode 100644 index 0000000000..28c57bb640 --- /dev/null +++ b/setup/pos_ticket_extra_company_info/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +)