From 00a62b7846c56189c4526631f5fdea1c2de02945 Mon Sep 17 00:00:00 2001 From: Manuel Claeys Bouuaert Date: Mon, 30 Sep 2019 11:33:06 +0200 Subject: [PATCH] Adding pos_price_to_weight module (version 9.0) --- pos_price_to_weight/README.rst | 105 ++++++++++++++++++ pos_price_to_weight/__init__.py | 2 + pos_price_to_weight/__openerp__.py | 25 +++++ pos_price_to_weight/data/barcode_rule.xml | 19 ++++ pos_price_to_weight/demo/product_product.xml | 18 +++ pos_price_to_weight/i18n/ca.po | 36 ++++++ pos_price_to_weight/i18n/fr.po | 36 ++++++ pos_price_to_weight/models/__init__.py | 2 + pos_price_to_weight/models/barcode_rule.py | 17 +++ .../static/description/barcode_rule.png | Bin 0 -> 18853 bytes .../static/description/icon.png | Bin 0 -> 7866 bytes .../static/description/pos_test_1.png | Bin 0 -> 26807 bytes .../static/description/pos_test_2.png | Bin 0 -> 27331 bytes pos_price_to_weight/static/src/js/models.js | 52 +++++++++ pos_price_to_weight/static/src/js/screens.js | 22 ++++ .../static/src/xml/templates.xml | 17 +++ 16 files changed, 351 insertions(+) create mode 100644 pos_price_to_weight/README.rst create mode 100644 pos_price_to_weight/__init__.py create mode 100644 pos_price_to_weight/__openerp__.py create mode 100644 pos_price_to_weight/data/barcode_rule.xml create mode 100644 pos_price_to_weight/demo/product_product.xml create mode 100644 pos_price_to_weight/i18n/ca.po create mode 100644 pos_price_to_weight/i18n/fr.po create mode 100644 pos_price_to_weight/models/__init__.py create mode 100644 pos_price_to_weight/models/barcode_rule.py create mode 100644 pos_price_to_weight/static/description/barcode_rule.png create mode 100644 pos_price_to_weight/static/description/icon.png create mode 100644 pos_price_to_weight/static/description/pos_test_1.png create mode 100644 pos_price_to_weight/static/description/pos_test_2.png create mode 100644 pos_price_to_weight/static/src/js/models.js create mode 100644 pos_price_to_weight/static/src/js/screens.js create mode 100644 pos_price_to_weight/static/src/xml/templates.xml diff --git a/pos_price_to_weight/README.rst b/pos_price_to_weight/README.rst new file mode 100644 index 0000000..82f9a45 --- /dev/null +++ b/pos_price_to_weight/README.rst @@ -0,0 +1,105 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +=============================== +Point of Sale - Price to Weight +=============================== + +This module extends Odoo Point Of Sale features, to allow to scan barcode +with price and to compute according quantity. + +In Odoo by default, there are three types of barcode rules for products. + +* 'Unit Product' (type='product'). Scanning a product will add a unit of this + product to the current order. +* 'Priced product' (type='price'). A price is extracted from the barcode, and + a new line with the given price and a quantity = 1 is added to the current + order. +* 'Weighted product' (type='weight). A weight is extracted from the barcode, + and a new line with the given weight, and a computed price + (quantity * Unit price) is added to the current order. + +This module add a new option: + +* 'Priced Product (Computed Weight)' (type='price_to_weight'). A price is + extracted from the barcode, and a new line with the given price, and a + computed quantity (Price / Unit Price) is added to the current order. + +.. image:: /pos_price_to_weight/static/description/barcode_rule.png + :width: 800 px + +This module is usefull in shops with products scaled, to manage correctly +stock quantities. + +Samples + +* Given a product with a unit price of 1,50€ / kg +* The barcode is 0212345{NNNDD}x where: + * 02 is the prefix of the barcode rule + * 12345 is the product number + * {NNNDD} is the price of the scaled product + * x is the control digit + +if {NNNDD} is 00265, the price is so 2,65€ and the according quantity is +2,65€ / 1,5 €/kg = 1,767 kg + +.. image:: /pos_price_to_weight/static/description/pos_test_1.png + :width: 800 px + +if {NNNDD} is 00810, the price is so 8,10€ and the according quantity is +8,10€ / 1,5 €/kg = 5,400 kg + +.. image:: /pos_price_to_weight/static/description/pos_test_2.png + :width: 800 px + + +Configuration +============= + +* Go to 'Point of Sale' / 'Configuration' / 'Barcode Nomenclatures' +* Edit your barcode rules, according to your barcodes settings + +Usage +===== + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/184/9.0 + +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 smash it by providing detailed and welcomed feedback. + +Credits +======= + +Images +------ + +Icon parts come from http://icons8.com + +Contributors +------------ + +* Sylvain LE GAL + + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://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 https://odoo-community.org. diff --git a/pos_price_to_weight/__init__.py b/pos_price_to_weight/__init__.py new file mode 100644 index 0000000..a0fdc10 --- /dev/null +++ b/pos_price_to_weight/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +from . import models diff --git a/pos_price_to_weight/__openerp__.py b/pos_price_to_weight/__openerp__.py new file mode 100644 index 0000000..1ae0f7b --- /dev/null +++ b/pos_price_to_weight/__openerp__.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2017-Today: La Louve () +# @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 - Price to Weight', + 'version': '9.0.1.0.0', + 'category': 'Point Of Sale', + 'summary': 'Compute weight based on barcodes with prices', + 'author': 'La Louve, GRAP, Odoo Community Association (OCA)', + 'website': 'http://www.lalouve.net/', + 'license': 'AGPL-3', + 'depends': [ + 'point_of_sale', + ], + 'data': [ + 'data/barcode_rule.xml', + 'static/src/xml/templates.xml', + ], + 'demo': [ + 'demo/product_product.xml', + ], + 'installable': True, +} diff --git a/pos_price_to_weight/data/barcode_rule.xml b/pos_price_to_weight/data/barcode_rule.xml new file mode 100644 index 0000000..29db2ac --- /dev/null +++ b/pos_price_to_weight/data/barcode_rule.xml @@ -0,0 +1,19 @@ + + + + + + + Price Barcodes (Computed Weight) 2 Decimals + + price_to_weight + 02.....{NNNDD} + 15 + ean13 + + + diff --git a/pos_price_to_weight/demo/product_product.xml b/pos_price_to_weight/demo/product_product.xml new file mode 100644 index 0000000..e1d6204 --- /dev/null +++ b/pos_price_to_weight/demo/product_product.xml @@ -0,0 +1,18 @@ + + + + + + + Apples (with Price To Weight Barcode) + 0212345000007 + 1.50 + + + + + diff --git a/pos_price_to_weight/i18n/ca.po b/pos_price_to_weight/i18n/ca.po new file mode 100644 index 0000000..00ca1b8 --- /dev/null +++ b/pos_price_to_weight/i18n/ca.po @@ -0,0 +1,36 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * pos_price_to_weight +# +# Translators: +# Marc Tormo i Bochaca , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-09 03:08+0000\n" +"PO-Revision-Date: 2017-06-09 03:08+0000\n" +"Last-Translator: Marc Tormo i Bochaca , 2017\n" +"Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: pos_price_to_weight +#: model:product.product,name:pos_price_to_weight.product_price_to_weight_barcode +#: model:product.template,name:pos_price_to_weight.product_price_to_weight_barcode_product_template +msgid "Apples (with Price To Weight Barcode)" +msgstr "Pomes (amb preu per pes de codi de barres)" + +#. module: pos_price_to_weight +#: code:addons/pos_price_to_weight/models/barcode_rule.py:16 +#, python-format +msgid "Priced Product (Computed Weight)" +msgstr "Producte amb preu (pes automatitzat)" + +#. module: pos_price_to_weight +#: model:ir.model,name:pos_price_to_weight.model_barcode_rule +msgid "barcode.rule" +msgstr "barcode.rule" diff --git a/pos_price_to_weight/i18n/fr.po b/pos_price_to_weight/i18n/fr.po new file mode 100644 index 0000000..51169c2 --- /dev/null +++ b/pos_price_to_weight/i18n/fr.po @@ -0,0 +1,36 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * pos_price_to_weight +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-09 03:08+0000\n" +"PO-Revision-Date: 2017-06-09 03:08+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: pos_price_to_weight +#: model:product.product,name:pos_price_to_weight.product_price_to_weight_barcode +#: model:product.template,name:pos_price_to_weight.product_price_to_weight_barcode_product_template +msgid "Apples (with Price To Weight Barcode)" +msgstr "Pommes (Avec un code barre Prix vers Pois)" + +#. module: pos_price_to_weight +#: code:addons/pos_price_to_weight/models/barcode_rule.py:16 +#, python-format +msgid "Priced Product (Computed Weight)" +msgstr "Code Barre Prix (Poid calculé)" + +#. module: pos_price_to_weight +#: model:ir.model,name:pos_price_to_weight.model_barcode_rule +msgid "barcode.rule" +msgstr "" diff --git a/pos_price_to_weight/models/__init__.py b/pos_price_to_weight/models/__init__.py new file mode 100644 index 0000000..7173a15 --- /dev/null +++ b/pos_price_to_weight/models/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +from . import barcode_rule diff --git a/pos_price_to_weight/models/barcode_rule.py b/pos_price_to_weight/models/barcode_rule.py new file mode 100644 index 0000000..52f6e36 --- /dev/null +++ b/pos_price_to_weight/models/barcode_rule.py @@ -0,0 +1,17 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2017-Today: La Louve () +# @author: Sylvain LE GAL (https://twitter.com/legalsylvain) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from openerp import _, api, models + + +class BarcodeRule(models.Model): + _inherit = 'barcode.rule' + + @api.model + def _get_type_selection(self): + res = super(BarcodeRule, self)._get_type_selection() + res.append( + ('price_to_weight', _('Priced Product (Computed Weight)'))) + return res diff --git a/pos_price_to_weight/static/description/barcode_rule.png b/pos_price_to_weight/static/description/barcode_rule.png new file mode 100644 index 0000000000000000000000000000000000000000..e4aba6987401d7c8984477f557ffb099ccab4754 GIT binary patch literal 18853 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 THbP0l+XkK^o{Zc literal 0 HcmV?d00001 diff --git a/pos_price_to_weight/static/description/icon.png b/pos_price_to_weight/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e45fc5cba1dbfb652bf8441a7b9196bb89b8d652 GIT binary patch literal 7866 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 literal 0 HcmV?d00001 diff --git a/pos_price_to_weight/static/description/pos_test_1.png b/pos_price_to_weight/static/description/pos_test_1.png new file mode 100644 index 0000000000000000000000000000000000000000..40022e54db86484d34957d43c23e5399770ae455 GIT binary patch literal 26807 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 literal 0 HcmV?d00001 diff --git a/pos_price_to_weight/static/src/js/models.js b/pos_price_to_weight/static/src/js/models.js new file mode 100644 index 0000000..910dab1 --- /dev/null +++ b/pos_price_to_weight/static/src/js/models.js @@ -0,0 +1,52 @@ +///* +// Copyright (C) 2017-Today: La Louve () +// @author: Sylvain LE GAL (https://twitter.com/legalsylvain) +// License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +//*/ + + +odoo.define('pos_price_to_weight.models', function (require) { + "use strict"; + + var models = require('point_of_sale.models'); + + var _super_PosModel = models.PosModel.prototype; + + models.PosModel = models.PosModel.extend({ + + initialize: function (session, attributes) { + + var product_model = _.find(this.models, function(model){ + return model.model === 'product.product'; + }); + product_model.fields.push('total_with_vat'); + + // Inheritance + return _super_PosModel.initialize.call(this, session, attributes); + }, + + scan_product: function(parsed_code) { + if (! (parsed_code.type === 'price_to_weight')){ + // Normal behaviour + return _super_PosModel.scan_product.apply(this, [parsed_code]); + } + // Compute quantity, based on price and unit price + var selectedOrder = this.get_order(); + var product = this.db.get_product_by_barcode(parsed_code.base_code); + if(!product){ + return false; + } + var quantity = 0; + var price = parseFloat(parsed_code.value) || 0; + if (price !== 0 && product.price !== 0){ + // replace the initial line cause this only work for price with + // vat include in the price in the pos. + + quantity = price / product.total_with_vat; + } + selectedOrder.add_product(product, {quantity: quantity, merge: false}); + return true; + }, + + }); +}); diff --git a/pos_price_to_weight/static/src/js/screens.js b/pos_price_to_weight/static/src/js/screens.js new file mode 100644 index 0000000..74ad0ce --- /dev/null +++ b/pos_price_to_weight/static/src/js/screens.js @@ -0,0 +1,22 @@ +/* + Copyright (C) 2017-Today: La Louve () + @author: Sylvain LE GAL (https://twitter.com/legalsylvain) + License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +*/ + + +odoo.define('pos_price_to_weight.screens', function (require) { + "use strict"; + + var screens = require('point_of_sale.screens'); + + screens.ScreenWidget.include({ + show: function(){ + this._super(); + var self = this; + this.pos.barcode_reader.set_action_callback({ + 'price_to_weight': _.bind(self.barcode_product_action, self), + }); + }, + }); +}); diff --git a/pos_price_to_weight/static/src/xml/templates.xml b/pos_price_to_weight/static/src/xml/templates.xml new file mode 100644 index 0000000..98da0a7 --- /dev/null +++ b/pos_price_to_weight/static/src/xml/templates.xml @@ -0,0 +1,17 @@ + + + + +