From 99a846ba590e03e10c0bb39f5e154089cd57675c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Todorovich?= Date: Tue, 18 Feb 2020 15:09:09 +0100 Subject: [PATCH] [ADD] pos_ticket_partner_firstname --- pos_ticket_salesman_firstname/__init__.py | 1 + pos_ticket_salesman_firstname/__manifest__.py | 26 ++++++++++++++++++ .../models/__init__.py | 1 + .../models/pos_config.py | 10 +++++++ .../readme/CONFIGURE.rst | 3 ++ .../readme/CONTRIBUTORS.rst | 3 ++ .../readme/DESCRIPTION.rst | 3 ++ .../readme/USAGE.rst | 3 ++ .../static/description/icon.png | Bin 0 -> 9553 bytes .../static/description/receipt.png | Bin 0 -> 15297 bytes .../static/src/js/models.js | 25 +++++++++++++++++ .../static/src/xml/pos.xml | 16 +++++++++++ .../views/assets.xml | 11 ++++++++ .../views/pos_config.xml | 25 +++++++++++++++++ 14 files changed, 127 insertions(+) create mode 100644 pos_ticket_salesman_firstname/__init__.py create mode 100644 pos_ticket_salesman_firstname/__manifest__.py create mode 100644 pos_ticket_salesman_firstname/models/__init__.py create mode 100644 pos_ticket_salesman_firstname/models/pos_config.py create mode 100644 pos_ticket_salesman_firstname/readme/CONFIGURE.rst create mode 100644 pos_ticket_salesman_firstname/readme/CONTRIBUTORS.rst create mode 100644 pos_ticket_salesman_firstname/readme/DESCRIPTION.rst create mode 100644 pos_ticket_salesman_firstname/readme/USAGE.rst create mode 100644 pos_ticket_salesman_firstname/static/description/icon.png create mode 100644 pos_ticket_salesman_firstname/static/description/receipt.png create mode 100644 pos_ticket_salesman_firstname/static/src/js/models.js create mode 100644 pos_ticket_salesman_firstname/static/src/xml/pos.xml create mode 100644 pos_ticket_salesman_firstname/views/assets.xml create mode 100644 pos_ticket_salesman_firstname/views/pos_config.xml diff --git a/pos_ticket_salesman_firstname/__init__.py b/pos_ticket_salesman_firstname/__init__.py new file mode 100644 index 00000000..0650744f --- /dev/null +++ b/pos_ticket_salesman_firstname/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/pos_ticket_salesman_firstname/__manifest__.py b/pos_ticket_salesman_firstname/__manifest__.py new file mode 100644 index 00000000..5eb35d19 --- /dev/null +++ b/pos_ticket_salesman_firstname/__manifest__.py @@ -0,0 +1,26 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +{ + "name": "Pos Ticket Salesman Firstname", + "category": "Point Of Sale", + "version": "12.0.1.0.0", + "author": "Druidoo, " + "Odoo Community Association (OCA)", + "website": "https://github.com/OCA/pos", + "license": "AGPL-3", + "depends": [ + "point_of_sale", + "partner_firstname", + ], + "data": [ + "views/assets.xml", + "views/pos_config.xml", + ], + "qweb": [ + "static/src/xml/pos.xml", + ], + "maintainers": [ + "ivantodorovich", + ], + "installable": True, +} diff --git a/pos_ticket_salesman_firstname/models/__init__.py b/pos_ticket_salesman_firstname/models/__init__.py new file mode 100644 index 00000000..db8634ad --- /dev/null +++ b/pos_ticket_salesman_firstname/models/__init__.py @@ -0,0 +1 @@ +from . import pos_config diff --git a/pos_ticket_salesman_firstname/models/pos_config.py b/pos_ticket_salesman_firstname/models/pos_config.py new file mode 100644 index 00000000..73668ed2 --- /dev/null +++ b/pos_ticket_salesman_firstname/models/pos_config.py @@ -0,0 +1,10 @@ +from odoo import models, fields + + +class PosConfig(models.Model): + _inherit = 'pos.config' + + receipt_salesman_firstname = fields.Boolean( + "Print only the salesman's first name", + default=True, + ) diff --git a/pos_ticket_salesman_firstname/readme/CONFIGURE.rst b/pos_ticket_salesman_firstname/readme/CONFIGURE.rst new file mode 100644 index 00000000..afe2a8dc --- /dev/null +++ b/pos_ticket_salesman_firstname/readme/CONFIGURE.rst @@ -0,0 +1,3 @@ +#. Go to *Point of Sale > Configuration > Point of Sale*. +#. Edit the one you want to configure. +#. Enable *Print only the salesman's first name* diff --git a/pos_ticket_salesman_firstname/readme/CONTRIBUTORS.rst b/pos_ticket_salesman_firstname/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000..998beab2 --- /dev/null +++ b/pos_ticket_salesman_firstname/readme/CONTRIBUTORS.rst @@ -0,0 +1,3 @@ +* `Druidoo `_: + + * Iván Todorovich diff --git a/pos_ticket_salesman_firstname/readme/DESCRIPTION.rst b/pos_ticket_salesman_firstname/readme/DESCRIPTION.rst new file mode 100644 index 00000000..ce293c51 --- /dev/null +++ b/pos_ticket_salesman_firstname/readme/DESCRIPTION.rst @@ -0,0 +1,3 @@ +On the POS ticket, prints only the salesman's first name. + +.. image:: ../static/description/receipt.png diff --git a/pos_ticket_salesman_firstname/readme/USAGE.rst b/pos_ticket_salesman_firstname/readme/USAGE.rst new file mode 100644 index 00000000..ce3ea19c --- /dev/null +++ b/pos_ticket_salesman_firstname/readme/USAGE.rst @@ -0,0 +1,3 @@ +#. Open a new PoS session. +#. Make an order and validate it. +#. You should see only the salesman's firstname on the receipt diff --git a/pos_ticket_salesman_firstname/static/description/icon.png b/pos_ticket_salesman_firstname/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_salesman_firstname/static/description/receipt.png b/pos_ticket_salesman_firstname/static/description/receipt.png new file mode 100644 index 0000000000000000000000000000000000000000..0523fc5f4f9045652e8aa4e136e4bbb74ccb3173 GIT binary patch literal 15297 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 literal 0 HcmV?d00001 diff --git a/pos_ticket_salesman_firstname/static/src/js/models.js b/pos_ticket_salesman_firstname/static/src/js/models.js new file mode 100644 index 00000000..9a62bbe8 --- /dev/null +++ b/pos_ticket_salesman_firstname/static/src/js/models.js @@ -0,0 +1,25 @@ +/* License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). */ + + +odoo.define("pos_ticket_salesman_firstname.models", function (require) { + "use strict"; + + var models = require("point_of_sale.models"); + + models.load_fields('res.users', ['firstname', 'lastname']); + + var _super_Order = models.Order.prototype; + models.Order = models.Order.extend({ + export_for_printing: function() { + var receipt = _super_Order.export_for_printing.apply(this, arguments); + if (this.pos.config.receipt_salesman_firstname) { + var cashier = this.pos.get_cashier(); + receipt.cashier = cashier ? cashier.firstname : null; + } + return receipt; + } + }); + + return models; + +}); diff --git a/pos_ticket_salesman_firstname/static/src/xml/pos.xml b/pos_ticket_salesman_firstname/static/src/xml/pos.xml new file mode 100644 index 00000000..8493dbfc --- /dev/null +++ b/pos_ticket_salesman_firstname/static/src/xml/pos.xml @@ -0,0 +1,16 @@ + + + + + + +

+ + + + diff --git a/pos_ticket_salesman_firstname/views/assets.xml b/pos_ticket_salesman_firstname/views/assets.xml new file mode 100644 index 00000000..55fd823b --- /dev/null +++ b/pos_ticket_salesman_firstname/views/assets.xml @@ -0,0 +1,11 @@ + + + + +