From 56c005b44135718b4479370581d849045e8ebfd3 Mon Sep 17 00:00:00 2001 From: Antonio Espinosa Date: Mon, 22 Jun 2015 16:20:14 +0200 Subject: [PATCH 1/7] [ADD] POS ticket logo addon --- pos_ticket_logo/README.rst | 50 ++++++++++++ pos_ticket_logo/__init__.py | 24 ++++++ pos_ticket_logo/__openerp__.py | 43 +++++++++++ pos_ticket_logo/static/description/icon.png | Bin 0 -> 9553 bytes pos_ticket_logo/static/src/js/main.js | 73 ++++++++++++++++++ pos_ticket_logo/static/src/xml/pos.xml | 10 +++ pos_ticket_logo/views/pos_template.xml | 12 +++ .../pos_ticket_logo_report_receipt_report.xml | 17 ++++ 8 files changed, 229 insertions(+) create mode 100644 pos_ticket_logo/README.rst create mode 100644 pos_ticket_logo/__init__.py create mode 100644 pos_ticket_logo/__openerp__.py create mode 100644 pos_ticket_logo/static/description/icon.png create mode 100644 pos_ticket_logo/static/src/js/main.js create mode 100644 pos_ticket_logo/static/src/xml/pos.xml create mode 100644 pos_ticket_logo/views/pos_template.xml create mode 100644 pos_ticket_logo/views/pos_ticket_logo_report_receipt_report.xml diff --git a/pos_ticket_logo/README.rst b/pos_ticket_logo/README.rst new file mode 100644 index 00000000..366150d4 --- /dev/null +++ b/pos_ticket_logo/README.rst @@ -0,0 +1,50 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :alt: AGPLv3 License + +POS Ticket logo +=============== + +Add company logo in POS ticket + + +Motivation +========== + +```XmlReceipt``` Qweb report is used when ```iface_print_via_proxy``` config is **True**: +https://github.com/odoo/odoo/blob/8.0/addons/point_of_sale/static/src/js/screens.js#L1341 + +But in the case ```iface_print_via_proxy``` config is **False**, ```PosTicket``` +Qweb report is used, and company_logo is not used: +https://github.com/odoo/odoo/blob/8.0/addons/point_of_sale/static/src/js/screens.js#L984 + +In other hand, company_logo is loaded using ```/web/binary/company_logo``` controller that returns a 150px wide logo: +https://github.com/odoo/odoo/blob/8.0/addons/point_of_sale/static/src/js/models.js#L371 +but after that logo is resized to 300px width, so a pixelled logo appears even +original logo is 300px wide. +That's why we override how company_logo is loaded. We also resized it to 260px +(not 300px) wide because appears cut in PDF: + + +Credits +======= + +Contributors +------------ + +* Antonio Espinosa +* Endika Iglesias + +Maintainer +---------- + +.. image:: http://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: http://odoo-community.org + +This module is maintained by the OCA. + +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. + +To contribute to this module, please visit http://odoo-community.org. diff --git a/pos_ticket_logo/__init__.py b/pos_ticket_logo/__init__.py new file mode 100644 index 00000000..f3ebd3ec --- /dev/null +++ b/pos_ticket_logo/__init__.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +# Python source code encoding : https://www.python.org/dev/peps/pep-0263/ +############################################################################## +# +# OpenERP, Open Source Management Solution +# This module copyright : +# (c) 2014 Antiun Ingenieria, SL (Madrid, Spain, http://www.antiun.com) +# Endika Iglesias +# Antonio Espinosa +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## diff --git a/pos_ticket_logo/__openerp__.py b/pos_ticket_logo/__openerp__.py new file mode 100644 index 00000000..e035b6ee --- /dev/null +++ b/pos_ticket_logo/__openerp__.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# Python source code encoding : https://www.python.org/dev/peps/pep-0263/ +############################################################################## +# +# OpenERP, Open Source Management Solution +# This module copyright : +# (c) 2014 Antiun Ingenieria, SL (Madrid, Spain, http://www.antiun.com) +# Endika Iglesias +# Antonio Espinosa +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## +{ + 'name': 'Pos ticket logo', + 'category': 'Point Of Sale', + 'version': '1.0', + 'depends': [ + 'point_of_sale', + ], + 'data': [ + 'views/pos_ticket_logo_report_receipt_report.xml', + 'views/pos_template.xml', + ], + 'qweb': [ + 'static/src/xml/pos.xml', + ], + 'author': 'Antiun Ingeniería S.L.', + 'website': 'http://www.antiun.com', + 'license': 'AGPL-3', + 'installable': True, +} diff --git a/pos_ticket_logo/static/description/icon.png b/pos_ticket_logo/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e060fb4a53a27360dd8d7c7ef6dc780c005f8832 GIT binary patch literal 9553 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

%U>@ziQ}s!5VfIQU5di$ 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 literal 0 HcmV?d00001 diff --git a/pos_ticket_logo/static/src/js/main.js b/pos_ticket_logo/static/src/js/main.js new file mode 100644 index 00000000..90903f5b --- /dev/null +++ b/pos_ticket_logo/static/src/js/main.js @@ -0,0 +1,73 @@ +/** + * # -*- coding: utf-8 -*- + * ############################################################################## + * # + * # OpenERP, Open Source Management Solution + * # This module copyright : + * # (c) 2014 Antiun Ingenieria, SL (Madrid, Spain, http://www.antiun.com) + * # Endika Iglesias + * # Antonio Espinosa + * # + * # This program is free software: you can redistribute it and/or modify + * # it under the terms of the GNU Affero General Public License as + * # published by the Free Software Foundation, either version 3 of the + * # License, or (at your option) any later version. + * # + * # This program is distributed in the hope that it will be useful, + * # but WITHOUT ANY WARRANTY; without even the implied warranty of + * # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * # GNU Affero General Public License for more details. + * # + * # You should have received a copy of the GNU Affero General Public License + * # along with this program. If not, see . + * # + * ############################################################################## + */ + +// Check jQuery available +if (typeof jQuery === 'undefined') { throw new Error('POS Ticket Logo Addon requires jQuery'); } + ++function ($) { + 'use strict'; + + openerp.pos_ticket_logo = function (instance, module) { + var _t = instance.web._t, + _lt = instance.web._lt; + var QWeb = instance.web.qweb; + + var PosModelParent = instance.point_of_sale.PosModel; + instance.point_of_sale.PosModel = instance.point_of_sale.PosModel.extend({ + load_server_data: function(){ + var self = this; + var loaded = PosModelParent.prototype.load_server_data.apply(this, arguments); + $.when(loaded).then(function(){ + self.company_logo.onload = function(){ + var img = self.company_logo; + var ratio = 1; + var targetwidth = 260; + var maxheight = 120; + if( img.width !== targetwidth ){ + ratio = targetwidth / img.width; + } + if( img.height * ratio > maxheight ){ + ratio = maxheight / img.height; + } + var width = Math.floor(img.width * ratio); + var height = Math.floor(img.height * ratio); + var c = document.createElement('canvas'); + c.width = width; + c.height = height; + var ctx = c.getContext('2d'); + ctx.drawImage(self.company_logo,0,0, width, height); + + self.company_logo_base64 = c.toDataURL(); + loaded.resolve(); + }; + self.company_logo.src = '/web/binary/image?model=res.company&id=' + self.company.id + '&field=logo'; + }); + return loaded; + } + }); + }; + +}(jQuery); diff --git a/pos_ticket_logo/static/src/xml/pos.xml b/pos_ticket_logo/static/src/xml/pos.xml new file mode 100644 index 00000000..80262d61 --- /dev/null +++ b/pos_ticket_logo/static/src/xml/pos.xml @@ -0,0 +1,10 @@ + + + + +

+
+
+ + + diff --git a/pos_ticket_logo/views/pos_template.xml b/pos_ticket_logo/views/pos_template.xml new file mode 100644 index 00000000..eb29caab --- /dev/null +++ b/pos_ticket_logo/views/pos_template.xml @@ -0,0 +1,12 @@ + + + + + \ No newline at end of file diff --git a/pos_ticket_logo/views/pos_ticket_logo_report_receipt_report.xml b/pos_ticket_logo/views/pos_ticket_logo_report_receipt_report.xml new file mode 100644 index 00000000..8f8f34e6 --- /dev/null +++ b/pos_ticket_logo/views/pos_ticket_logo_report_receipt_report.xml @@ -0,0 +1,17 @@ + + + + + + From aeee7728b8a5c0c938ab213c5c7cd28555537c3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul=20=28ACSONE=29?= Date: Wed, 19 Apr 2017 09:47:04 +0200 Subject: [PATCH 2/7] [FIX] normalize version number in manifest --- pos_ticket_logo/__openerp__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pos_ticket_logo/__openerp__.py b/pos_ticket_logo/__openerp__.py index e035b6ee..709aa150 100644 --- a/pos_ticket_logo/__openerp__.py +++ b/pos_ticket_logo/__openerp__.py @@ -25,7 +25,7 @@ { 'name': 'Pos ticket logo', 'category': 'Point Of Sale', - 'version': '1.0', + 'version': '8.0.1.0.0', 'depends': [ 'point_of_sale', ], From 4ba48f743318a101a75694eafdb5383bc2ce5bac Mon Sep 17 00:00:00 2001 From: OCA Transbot Date: Mon, 1 May 2017 22:05:39 +0200 Subject: [PATCH 3/7] OCA Transbot updated translations from Transifex --- pos_ticket_logo/i18n/es.po | 24 ++++++++++++++++++++++++ pos_ticket_logo/i18n/sl.po | 24 ++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 pos_ticket_logo/i18n/es.po create mode 100644 pos_ticket_logo/i18n/sl.po diff --git a/pos_ticket_logo/i18n/es.po b/pos_ticket_logo/i18n/es.po new file mode 100644 index 00000000..ec41fc99 --- /dev/null +++ b/pos_ticket_logo/i18n/es.po @@ -0,0 +1,24 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * pos_ticket_logo +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-29 00:49+0000\n" +"PO-Revision-Date: 2017-04-29 00:49+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: pos_ticket_logo +#: view:website:point_of_sale.report_receipt +msgid "display:none;" +msgstr "display:none;" diff --git a/pos_ticket_logo/i18n/sl.po b/pos_ticket_logo/i18n/sl.po new file mode 100644 index 00000000..c7185ca8 --- /dev/null +++ b/pos_ticket_logo/i18n/sl.po @@ -0,0 +1,24 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * pos_ticket_logo +# +# Translators: +# Matjaž Mozetič , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-29 00:49+0000\n" +"PO-Revision-Date: 2017-04-29 00:49+0000\n" +"Last-Translator: Matjaž Mozetič , 2017\n" +"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +#. module: pos_ticket_logo +#: view:website:point_of_sale.report_receipt +msgid "display:none;" +msgstr "display:none;" From 49c7e8de3550ddbf07449817a526f2d3dd25cb5d Mon Sep 17 00:00:00 2001 From: David Date: Mon, 23 Apr 2018 19:07:45 +0200 Subject: [PATCH 4/7] [MIG] pos_ticket_logo: Migration to 11.0 --- pos_ticket_logo/README.rst | 112 ++++++++++++++---- pos_ticket_logo/__init__.py | 24 ---- pos_ticket_logo/__manifest__.py | 21 ++++ pos_ticket_logo/__openerp__.py | 43 ------- pos_ticket_logo/i18n/es.po | 24 ---- pos_ticket_logo/i18n/sl.po | 24 ---- pos_ticket_logo/readme/CONFIGURE.rst | 11 ++ pos_ticket_logo/readme/CONTRIBUTORS.rst | 6 + pos_ticket_logo/readme/DESCRIPTION.rst | 11 ++ pos_ticket_logo/readme/USAGE.rst | 3 + pos_ticket_logo/static/src/js/main.js | 73 ------------ pos_ticket_logo/static/src/js/models.js | 49 ++++++++ pos_ticket_logo/static/src/xml/pos.xml | 5 +- pos_ticket_logo/templates/assets.xml | 13 ++ pos_ticket_logo/views/pos_template.xml | 12 -- .../pos_ticket_logo_report_receipt_report.xml | 17 --- 16 files changed, 204 insertions(+), 244 deletions(-) create mode 100644 pos_ticket_logo/__manifest__.py delete mode 100644 pos_ticket_logo/__openerp__.py delete mode 100644 pos_ticket_logo/i18n/es.po delete mode 100644 pos_ticket_logo/i18n/sl.po create mode 100644 pos_ticket_logo/readme/CONFIGURE.rst create mode 100644 pos_ticket_logo/readme/CONTRIBUTORS.rst create mode 100644 pos_ticket_logo/readme/DESCRIPTION.rst create mode 100644 pos_ticket_logo/readme/USAGE.rst delete mode 100644 pos_ticket_logo/static/src/js/main.js create mode 100644 pos_ticket_logo/static/src/js/models.js create mode 100644 pos_ticket_logo/templates/assets.xml delete mode 100644 pos_ticket_logo/views/pos_template.xml delete mode 100644 pos_ticket_logo/views/pos_ticket_logo_report_receipt_report.xml diff --git a/pos_ticket_logo/README.rst b/pos_ticket_logo/README.rst index 366150d4..d001a5c1 100644 --- a/pos_ticket_logo/README.rst +++ b/pos_ticket_logo/README.rst @@ -1,50 +1,110 @@ -.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg - :alt: AGPLv3 License - -POS Ticket logo +=============== +Pos Ticket Logo =============== -Add company logo in POS ticket +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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/11.0/pos_ticket_logo + :alt: OCA/pos +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/pos-11-0/pos-11-0-pos_ticket_logo + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/184/11.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +A different receipt template is used if the PoS ticket is printed via web or +via proxy. In the case the ticket is printed via web (through the browser) the +company logo isn't printed. This module adds it. + +In other hand, company_logo is loaded using `/web/binary/company_logo` +controller `that returns a 150px wide logo `_: +but after that logo is resized to 300px width, so a pixelled logo appears even +original logo is 300px wide. +That's why we override how company_logo is loaded. We also resized it to 260px +(not 300px) wide because appears cut in PDF. -Motivation -========== +**Table of contents** -```XmlReceipt``` Qweb report is used when ```iface_print_via_proxy``` config is **True**: -https://github.com/odoo/odoo/blob/8.0/addons/point_of_sale/static/src/js/screens.js#L1341 +.. contents:: + :local: -But in the case ```iface_print_via_proxy``` config is **False**, ```PosTicket``` -Qweb report is used, and company_logo is not used: -https://github.com/odoo/odoo/blob/8.0/addons/point_of_sale/static/src/js/screens.js#L984 +Configuration +============= -In other hand, company_logo is loaded using ```/web/binary/company_logo``` controller that returns a 150px wide logo: -https://github.com/odoo/odoo/blob/8.0/addons/point_of_sale/static/src/js/models.js#L371 -but after that logo is resized to 300px width, so a pixelled logo appears even -original logo is 300px wide. -That's why we override how company_logo is loaded. We also resized it to 260px -(not 300px) wide because appears cut in PDF: +To add a logo to any given company: + +#. Go to *Settings > Users & Companies > Companies* +#. Edit one and add the logo editing the top left corner image. + +To configure receipt web print in the PoS (is the default setting): + +#. Go to *Point of Sale > Configuration > Point of Sale*. +#. Edit the one you want to configure. +#. If the *PosBox* setting is enabled the *Receipt Printer* setting should be + disabled. +Usage +===== + +#. Open a new PoS session. +#. Make an order and validate it. +#. You should see the company logo in the receipt preview. + +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 smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. Credits ======= +Authors +~~~~~~~ + +* Tecnativa + Contributors ------------- +~~~~~~~~~~~~ -* Antonio Espinosa * Endika Iglesias -Maintainer ----------- +* `Tecnativa `_: -.. image:: http://odoo-community.org/logo.png - :alt: Odoo Community Association - :target: http://odoo-community.org + * Antonio Espinosa + * David Vidal + +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. -To contribute to this module, please visit http://odoo-community.org. +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_logo/__init__.py b/pos_ticket_logo/__init__.py index f3ebd3ec..e69de29b 100644 --- a/pos_ticket_logo/__init__.py +++ b/pos_ticket_logo/__init__.py @@ -1,24 +0,0 @@ -# -*- coding: utf-8 -*- -# Python source code encoding : https://www.python.org/dev/peps/pep-0263/ -############################################################################## -# -# OpenERP, Open Source Management Solution -# This module copyright : -# (c) 2014 Antiun Ingenieria, SL (Madrid, Spain, http://www.antiun.com) -# Endika Iglesias -# Antonio Espinosa -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## diff --git a/pos_ticket_logo/__manifest__.py b/pos_ticket_logo/__manifest__.py new file mode 100644 index 00000000..c843b9fd --- /dev/null +++ b/pos_ticket_logo/__manifest__.py @@ -0,0 +1,21 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +{ + "name": "Pos Ticket Logo", + "category": "Point Of Sale", + "version": "11.0.1.0.0", + "author": "Tecnativa, " + "Odoo Community Association (OCA)", + "website": "https://github.com/OCA/pos", + "license": "AGPL-3", + "depends": [ + "point_of_sale", + ], + "data": [ + "templates/assets.xml", + ], + "qweb": [ + "static/src/xml/pos.xml", + ], + "installable": True, +} diff --git a/pos_ticket_logo/__openerp__.py b/pos_ticket_logo/__openerp__.py deleted file mode 100644 index 709aa150..00000000 --- a/pos_ticket_logo/__openerp__.py +++ /dev/null @@ -1,43 +0,0 @@ -# -*- coding: utf-8 -*- -# Python source code encoding : https://www.python.org/dev/peps/pep-0263/ -############################################################################## -# -# OpenERP, Open Source Management Solution -# This module copyright : -# (c) 2014 Antiun Ingenieria, SL (Madrid, Spain, http://www.antiun.com) -# Endika Iglesias -# Antonio Espinosa -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## -{ - 'name': 'Pos ticket logo', - 'category': 'Point Of Sale', - 'version': '8.0.1.0.0', - 'depends': [ - 'point_of_sale', - ], - 'data': [ - 'views/pos_ticket_logo_report_receipt_report.xml', - 'views/pos_template.xml', - ], - 'qweb': [ - 'static/src/xml/pos.xml', - ], - 'author': 'Antiun Ingeniería S.L.', - 'website': 'http://www.antiun.com', - 'license': 'AGPL-3', - 'installable': True, -} diff --git a/pos_ticket_logo/i18n/es.po b/pos_ticket_logo/i18n/es.po deleted file mode 100644 index ec41fc99..00000000 --- a/pos_ticket_logo/i18n/es.po +++ /dev/null @@ -1,24 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * pos_ticket_logo -# -# Translators: -# OCA Transbot , 2017 -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 8.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-29 00:49+0000\n" -"PO-Revision-Date: 2017-04-29 00:49+0000\n" -"Last-Translator: OCA Transbot , 2017\n" -"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: pos_ticket_logo -#: view:website:point_of_sale.report_receipt -msgid "display:none;" -msgstr "display:none;" diff --git a/pos_ticket_logo/i18n/sl.po b/pos_ticket_logo/i18n/sl.po deleted file mode 100644 index c7185ca8..00000000 --- a/pos_ticket_logo/i18n/sl.po +++ /dev/null @@ -1,24 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * pos_ticket_logo -# -# Translators: -# Matjaž Mozetič , 2017 -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 8.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-29 00:49+0000\n" -"PO-Revision-Date: 2017-04-29 00:49+0000\n" -"Last-Translator: Matjaž Mozetič , 2017\n" -"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: sl\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" - -#. module: pos_ticket_logo -#: view:website:point_of_sale.report_receipt -msgid "display:none;" -msgstr "display:none;" diff --git a/pos_ticket_logo/readme/CONFIGURE.rst b/pos_ticket_logo/readme/CONFIGURE.rst new file mode 100644 index 00000000..e08bb247 --- /dev/null +++ b/pos_ticket_logo/readme/CONFIGURE.rst @@ -0,0 +1,11 @@ +To add a logo to any given company: + +#. Go to *Settings > Users & Companies > Companies* +#. Edit one and add the logo editing the top left corner image. + +To configure receipt web print in the PoS (is the default setting): + +#. Go to *Point of Sale > Configuration > Point of Sale*. +#. Edit the one you want to configure. +#. If the *PosBox* setting is enabled the *Receipt Printer* setting should be + disabled. diff --git a/pos_ticket_logo/readme/CONTRIBUTORS.rst b/pos_ticket_logo/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000..fdd98c7a --- /dev/null +++ b/pos_ticket_logo/readme/CONTRIBUTORS.rst @@ -0,0 +1,6 @@ +* Endika Iglesias + +* `Tecnativa `_: + + * Antonio Espinosa + * David Vidal diff --git a/pos_ticket_logo/readme/DESCRIPTION.rst b/pos_ticket_logo/readme/DESCRIPTION.rst new file mode 100644 index 00000000..b1b03fd1 --- /dev/null +++ b/pos_ticket_logo/readme/DESCRIPTION.rst @@ -0,0 +1,11 @@ +A different receipt template is used if the PoS ticket is printed via web or +via proxy. In the case the ticket is printed via web (through the browser) the +company logo isn't printed. This module adds it. + +In other hand, company_logo is loaded using `/web/binary/company_logo` +controller `that returns a 150px wide logo `_: + +but after that logo is resized to 300px width, so a pixelled logo appears even +original logo is 300px wide. +That's why we override how company_logo is loaded. We also resized it to 260px +(not 300px) wide because appears cut in PDF. diff --git a/pos_ticket_logo/readme/USAGE.rst b/pos_ticket_logo/readme/USAGE.rst new file mode 100644 index 00000000..8bf546e6 --- /dev/null +++ b/pos_ticket_logo/readme/USAGE.rst @@ -0,0 +1,3 @@ +#. Open a new PoS session. +#. Make an order and validate it. +#. You should see the company logo in the receipt preview. diff --git a/pos_ticket_logo/static/src/js/main.js b/pos_ticket_logo/static/src/js/main.js deleted file mode 100644 index 90903f5b..00000000 --- a/pos_ticket_logo/static/src/js/main.js +++ /dev/null @@ -1,73 +0,0 @@ -/** - * # -*- coding: utf-8 -*- - * ############################################################################## - * # - * # OpenERP, Open Source Management Solution - * # This module copyright : - * # (c) 2014 Antiun Ingenieria, SL (Madrid, Spain, http://www.antiun.com) - * # Endika Iglesias - * # Antonio Espinosa - * # - * # This program is free software: you can redistribute it and/or modify - * # it under the terms of the GNU Affero General Public License as - * # published by the Free Software Foundation, either version 3 of the - * # License, or (at your option) any later version. - * # - * # This program is distributed in the hope that it will be useful, - * # but WITHOUT ANY WARRANTY; without even the implied warranty of - * # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * # GNU Affero General Public License for more details. - * # - * # You should have received a copy of the GNU Affero General Public License - * # along with this program. If not, see . - * # - * ############################################################################## - */ - -// Check jQuery available -if (typeof jQuery === 'undefined') { throw new Error('POS Ticket Logo Addon requires jQuery'); } - -+function ($) { - 'use strict'; - - openerp.pos_ticket_logo = function (instance, module) { - var _t = instance.web._t, - _lt = instance.web._lt; - var QWeb = instance.web.qweb; - - var PosModelParent = instance.point_of_sale.PosModel; - instance.point_of_sale.PosModel = instance.point_of_sale.PosModel.extend({ - load_server_data: function(){ - var self = this; - var loaded = PosModelParent.prototype.load_server_data.apply(this, arguments); - $.when(loaded).then(function(){ - self.company_logo.onload = function(){ - var img = self.company_logo; - var ratio = 1; - var targetwidth = 260; - var maxheight = 120; - if( img.width !== targetwidth ){ - ratio = targetwidth / img.width; - } - if( img.height * ratio > maxheight ){ - ratio = maxheight / img.height; - } - var width = Math.floor(img.width * ratio); - var height = Math.floor(img.height * ratio); - var c = document.createElement('canvas'); - c.width = width; - c.height = height; - var ctx = c.getContext('2d'); - ctx.drawImage(self.company_logo,0,0, width, height); - - self.company_logo_base64 = c.toDataURL(); - loaded.resolve(); - }; - self.company_logo.src = '/web/binary/image?model=res.company&id=' + self.company.id + '&field=logo'; - }); - return loaded; - } - }); - }; - -}(jQuery); diff --git a/pos_ticket_logo/static/src/js/models.js b/pos_ticket_logo/static/src/js/models.js new file mode 100644 index 00000000..11e919ee --- /dev/null +++ b/pos_ticket_logo/static/src/js/models.js @@ -0,0 +1,49 @@ +/* License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). */ + + +odoo.define("pos_ticket_logo.models", function (require) { + "use strict"; + + var models = require("point_of_sale.models"); + + var exports = {}; + + var _pictures = _.findWhere( + models.PosModel.prototype.models, + {label: "pictures"} + ); + _pictures.loaded = function (self) { + self.company_logo = new Image(); + var logo_loaded = new $.Deferred(); + self.company_logo.onload = function () { + var img = self.company_logo; + var ratio = 1; + var targetwidth = 260; + var maxheight = 120; + if (img.width !== targetwidth) { + ratio = targetwidth / img.width; + } + if (img.height * ratio > maxheight) { + ratio = maxheight / img.height; + } + var width = Math.floor(img.width * ratio); + var height = Math.floor(img.height * ratio); + var c = document.createElement('canvas'); + c.width = width; + c.height = height; + var ctx = c.getContext('2d'); + ctx.drawImage(self.company_logo, 0, 0, width, height); + self.company_logo_base64 = c.toDataURL(); + logo_loaded.resolve(); + }; + self.company_logo.onerror = function () { + logo_loaded.reject(); + }; + self.company_logo.crossOrigin = "anonymous"; + self.company_logo.src = '/web/binary/image?model=res.company&id=' + + self.company.id + '&field=logo'; + return logo_loaded; + }; + + return exports; +}); diff --git a/pos_ticket_logo/static/src/xml/pos.xml b/pos_ticket_logo/static/src/xml/pos.xml index 80262d61..4b6968ca 100644 --- a/pos_ticket_logo/static/src/xml/pos.xml +++ b/pos_ticket_logo/static/src/xml/pos.xml @@ -1,10 +1,13 @@ + + - +

+
diff --git a/pos_ticket_logo/templates/assets.xml b/pos_ticket_logo/templates/assets.xml new file mode 100644 index 00000000..882dab80 --- /dev/null +++ b/pos_ticket_logo/templates/assets.xml @@ -0,0 +1,13 @@ + + + + + - - \ No newline at end of file diff --git a/pos_ticket_logo/views/pos_ticket_logo_report_receipt_report.xml b/pos_ticket_logo/views/pos_ticket_logo_report_receipt_report.xml deleted file mode 100644 index 8f8f34e6..00000000 --- a/pos_ticket_logo/views/pos_ticket_logo_report_receipt_report.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - From 1f5bf104fc43794d98ed72fc4213e9ccdce5cbb9 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 7 Mar 2019 09:54:07 +0000 Subject: [PATCH 5/7] [UPD] README.rst --- pos_ticket_logo/static/description/index.html | 457 ++++++++++++++++++ 1 file changed, 457 insertions(+) create mode 100644 pos_ticket_logo/static/description/index.html diff --git a/pos_ticket_logo/static/description/index.html b/pos_ticket_logo/static/description/index.html new file mode 100644 index 00000000..669ecb94 --- /dev/null +++ b/pos_ticket_logo/static/description/index.html @@ -0,0 +1,457 @@ + + + + + + +Pos Ticket Logo + + + + + + From 03560ccb650f8a6a600d2c7b0ccd841bc10f36fe Mon Sep 17 00:00:00 2001 From: oca-travis Date: Thu, 7 Mar 2019 10:58:27 +0000 Subject: [PATCH 6/7] [UPD] Update pos_ticket_logo.pot --- pos_ticket_logo/i18n/pos_ticket_logo.pot | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 pos_ticket_logo/i18n/pos_ticket_logo.pot diff --git a/pos_ticket_logo/i18n/pos_ticket_logo.pot b/pos_ticket_logo/i18n/pos_ticket_logo.pot new file mode 100644 index 00000000..447d3bb3 --- /dev/null +++ b/pos_ticket_logo/i18n/pos_ticket_logo.pot @@ -0,0 +1,14 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \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" + From f22773f4d23e463f8718572a41374f23dc707999 Mon Sep 17 00:00:00 2001 From: Pierrick Brun Date: Thu, 14 Mar 2019 16:31:02 +0100 Subject: [PATCH 7/7] [MIG] pos_ticket_logo version 12.0 --- pos_ticket_logo/README.rst | 10 +++++----- pos_ticket_logo/__manifest__.py | 2 +- pos_ticket_logo/static/description/index.html | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/pos_ticket_logo/README.rst b/pos_ticket_logo/README.rst index d001a5c1..dea09a86 100644 --- a/pos_ticket_logo/README.rst +++ b/pos_ticket_logo/README.rst @@ -14,13 +14,13 @@ Pos Ticket Logo :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/11.0/pos_ticket_logo + :target: https://github.com/OCA/pos/tree/12.0/pos_ticket_logo :alt: OCA/pos .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/pos-11-0/pos-11-0-pos_ticket_logo + :target: https://translation.odoo-community.org/projects/pos-12-0/pos-12-0-pos_ticket_logo :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/184/11.0 + :target: https://runbot.odoo-community.org/runbot/184/12.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -70,7 +70,7 @@ 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 smashing it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -105,6 +105,6 @@ 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. +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_logo/__manifest__.py b/pos_ticket_logo/__manifest__.py index c843b9fd..07bf8c14 100644 --- a/pos_ticket_logo/__manifest__.py +++ b/pos_ticket_logo/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Pos Ticket Logo", "category": "Point Of Sale", - "version": "11.0.1.0.0", + "version": "12.0.1.0.0", "author": "Tecnativa, " "Odoo Community Association (OCA)", "website": "https://github.com/OCA/pos", diff --git a/pos_ticket_logo/static/description/index.html b/pos_ticket_logo/static/description/index.html index 669ecb94..06866ca6 100644 --- a/pos_ticket_logo/static/description/index.html +++ b/pos_ticket_logo/static/description/index.html @@ -367,7 +367,7 @@ ul.auto-toc { !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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

+

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

A different receipt template is used if the PoS ticket is printed via web or via proxy. In the case the ticket is printed via web (through the browser) the company logo isn’t printed. This module adds it.

@@ -419,7 +419,7 @@ disabled.

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 smashing it by providing a detailed and welcomed -feedback.

+feedback.

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

@@ -448,7 +448,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome

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.

+

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.