From 69284d8d6dd1c866cf482f740126fd62ea90bf26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Kawala?= Date: Mon, 20 Jan 2020 23:55:22 +0100 Subject: [PATCH] Barcode tare. --- pos_barcode_tare/__init__.py | 1 + pos_barcode_tare/__openerp__.py | 36 +++++ pos_barcode_tare/static/description/icon.png | Bin 0 -> 91872 bytes .../static/src/css/tare_screen.css | 105 +++++++++++++ pos_barcode_tare/static/src/js/barcode.js | 36 +++++ .../static/src/js/open_tare_screen_button.js | 20 +++ pos_barcode_tare/static/src/js/tare_screen.js | 139 ++++++++++++++++++ .../src/xml/open_tare_screen_button.xml | 9 ++ .../static/src/xml/tare_screen.xml | 38 +++++ pos_barcode_tare/views/templates.xml | 12 ++ 10 files changed, 396 insertions(+) create mode 100644 pos_barcode_tare/__init__.py create mode 100644 pos_barcode_tare/__openerp__.py create mode 100644 pos_barcode_tare/static/description/icon.png create mode 100644 pos_barcode_tare/static/src/css/tare_screen.css create mode 100644 pos_barcode_tare/static/src/js/barcode.js create mode 100644 pos_barcode_tare/static/src/js/open_tare_screen_button.js create mode 100644 pos_barcode_tare/static/src/js/tare_screen.js create mode 100644 pos_barcode_tare/static/src/xml/open_tare_screen_button.xml create mode 100644 pos_barcode_tare/static/src/xml/tare_screen.xml create mode 100644 pos_barcode_tare/views/templates.xml diff --git a/pos_barcode_tare/__init__.py b/pos_barcode_tare/__init__.py new file mode 100644 index 00000000..7c68785e --- /dev/null +++ b/pos_barcode_tare/__init__.py @@ -0,0 +1 @@ +# -*- coding: utf-8 -*- \ No newline at end of file diff --git a/pos_barcode_tare/__openerp__.py b/pos_barcode_tare/__openerp__.py new file mode 100644 index 00000000..fe92aeca --- /dev/null +++ b/pos_barcode_tare/__openerp__.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +{ + 'name': "pos_barecode_tare", + + 'summary': """ + Allows to scan a barcode to tare the latest product. + """, + + 'description': """ + This add-on enable POS to read and print tare bar codes. A tare bar code is used to sell unpackaged goods in a + BYOC (bring your own container) scheme. This scheme has four steps: + 1. The cashier weights the container and sticks the tare bar code onto the customer's container. + 2. The customer takes the desired quantity of whatever good s-he wants. + 3. The cashier weights the filled container and good, POS gives the corresponding price. + 4. The cashier scans the tare bar code, POS removes the container's weight from the latest product of the order. + """, + + 'author': "Le Nid", + 'website': "http://www.lenid.ch", + + 'category': 'Point of Sale', + 'version': '0.1', + + # any module necessary for this one to work correctly + 'depends': ['point_of_sale'], + + # always loaded + 'data': [ + 'views/templates.xml', + ], + 'qweb': [ + 'static/src/xml/tare_screen.xml', + 'static/src/xml/open_tare_screen_button.xml', + + ], +} diff --git a/pos_barcode_tare/static/description/icon.png b/pos_barcode_tare/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3e885187ba4d930e30e2d5ea3041bbad0866999e GIT binary patch literal 91872 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�X-9)tma%7}Yq({w{{W+t-Lm`V?aS={^! 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 literal 0 HcmV?d00001 diff --git a/pos_barcode_tare/static/src/css/tare_screen.css b/pos_barcode_tare/static/src/css/tare_screen.css new file mode 100644 index 00000000..cefa72eb --- /dev/null +++ b/pos_barcode_tare/static/src/css/tare_screen.css @@ -0,0 +1,105 @@ +.pos .print-label.disabled { + background: #e2e2e2; + border: solid 1px #BEBEBE; + opacity: 0.5; + cursor: default; + color: inherit; +} + +.pos .pos-tare-label { + width: 300px; + background-color: white; + margin: 20px; + padding: 15px; + font-size: 21px; + padding-bottom:30px; + display: inline-block; + font-family: "Inconsolata"; + border: solid 1px rgb(220,220,220); + border-radius: 3px; + overflow: hidden; +} + +.pos .tare-screen .pos-directions-for-user { + font-size: 25px; + margin: 8px; + text-align: center; + line-height: 2; +} + +.pos .tare-screen .pos-directions-for-user span { + width:100px; + height: 50px; + background-color: rgb(49,174,218); + color: white !important; + font-weight: bold; + border: solid 1px black; + border-radius: 90% 30%; + display: flex; + align-items: center; + overflow: hidden; + vertical-align:middle; + justify-content: center; + margin-left: auto; + margin-right: auto; +} + +.pos .pos-tare-label img { + width: 50mm; + height: 45mm; +} + +.pos .tare-screen .print-label { + text-align: center; + font-size: 32px; + background: rgb(110,200,155); + color: white; + border-radius: 3px; + padding: 16px; + margin: 16px; + cursor: pointer; +} + +@media print { + .pos .tare-screen header, + .pos .tare-screen .top-content, + .pos .tare-screen .centered-content .print-label, + .pos .tare-screen .pos-directions-for-user { + display: none !important; + } + + .pos .tare-screen .centered-content { + position: static; + border: none; + } + + .pos .pos-tare-paper { + margin: 0; + margin-left: 0 !important; + margin-right: 0 !important; + width: 42mm !important; + height: 29mm !important; + background: white; + display: block; + position: fixed; + display: flex !important; + justify-content: center !important; + align-items: center !important; + } + + + .pos-tare-label img { + width: 30mm !important; + height: 25mm !important; + } + + .pos .pos-tare-label { + margin: 0; + margin-left: 0 !important; + margin-right: 0 !important; + position: fixed !important; + border: none !important; + font-size: 10px !important; + + } +} \ No newline at end of file diff --git a/pos_barcode_tare/static/src/js/barcode.js b/pos_barcode_tare/static/src/js/barcode.js new file mode 100644 index 00000000..200f1acc --- /dev/null +++ b/pos_barcode_tare/static/src/js/barcode.js @@ -0,0 +1,36 @@ +odoo.define('barcode_tare',function(require) { + "use strict"; + var screens = require('point_of_sale.screens'); + var gui = require('point_of_sale.gui'); + var core = require('web.core'); + var _t = core._t; + + screens.ScreenWidget.include( + { + barcode_weight_action: function(code){ + var self = this; + var order = this.pos.get_order(); + var last_order_line = order.get_last_orderline(); + var total_weight = last_order_line.get_quantity(); + var tare = code.value; + var paid_weight = total_weight - tare; + + if (paid_weight <= 0) { + this.gui.show_popup('confirm', { + 'title': _t('Poids négatif'), + 'body': _t('Le poids à payer est négatif. Avez-vous scanné le bon code bare ?'), + confirm: function(){ + last_order_line.set_quantity(paid_weight) + }}); + } else { + last_order_line.set_quantity(paid_weight) + } + }, + + show: function(){ + var self = this; + this._super() + this.pos.barcode_reader.set_action_callback('weight', _.bind(self.barcode_weight_action, self)) + }, + }); +}); diff --git a/pos_barcode_tare/static/src/js/open_tare_screen_button.js b/pos_barcode_tare/static/src/js/open_tare_screen_button.js new file mode 100644 index 00000000..1ac00e57 --- /dev/null +++ b/pos_barcode_tare/static/src/js/open_tare_screen_button.js @@ -0,0 +1,20 @@ +odoo.define('tare-screen-button.button', function (require) { + "use strict"; + var core = require('web.core'); + var screens = require('point_of_sale.screens'); + var gui = require('point_of_sale.gui'); + + var TareScreenButton = screens.ActionButtonWidget.extend({ + template: 'TareScreenButton', + + button_click: function(){ + var self = this; + this.gui.show_screen('tare'); + } + }); + + screens.define_action_button({ + 'name': 'tareScreenButton', + 'widget': TareScreenButton, + }); +}); diff --git a/pos_barcode_tare/static/src/js/tare_screen.js b/pos_barcode_tare/static/src/js/tare_screen.js new file mode 100644 index 00000000..f6fe0e1b --- /dev/null +++ b/pos_barcode_tare/static/src/js/tare_screen.js @@ -0,0 +1,139 @@ +odoo.define('tare-screen.screen', function (require) { + "use strict"; + var chrome = require('point_of_sale.chrome'); + var core = require('web.core'); + var devices = require('point_of_sale.devices'); + var gui = require('point_of_sale.gui'); + var models = require('point_of_sale.models'); + var screens = require('point_of_sale.screens'); + var QWeb = core.qweb; + + var TareScreenWidget = screens.ScreenWidget.extend({ + template: 'TareScreenWidget', + next_screen: 'products', + previous_screen: 'products', + default_tare_value_kg: 0.0, + + show: function(){ + this._super(); + var self = this; + var queue = this.pos.proxy_queue; + + queue.schedule(function(){ + return self.pos.proxy.scale_read().then(function(weight){ + self.set_weight(weight.weight); + }); + },{duration:150, repeat: true}); + + this.render_receipt(); + this.lock_screen(true); + }, + set_weight: function(weight){ + if (weight > 0){ + this.weight = weight; + this.render_receipt(); + this.lock_screen(false); + } + }, + get_weight: function(){ + if (typeof this.weight === 'undefined') { + return this.default_tare_value_kg; + } + return this.weight; + }, + ean13_checksum: function(s){ + var result = 0; + for (let counter = s.length-1; counter >=0; counter--){ + result = result + parseInt(s.charAt(counter)) * (1+(2*(counter % 2))); + } + return (10 - (result % 10)) % 10; + }, + barcode_data: function(weight, weight_prefix_id=21){ + var padding_size = 5; + var void_product_id = '0'.repeat(padding_size); + var weight_in_gram = weight * 10e2; + var weight_with_padding = '0'.repeat(padding_size) + weight_in_gram; + var padded_weight = weight_with_padding.substr(weight_with_padding.length - padding_size); + var barcode_data = `${weight_prefix_id}${void_product_id}${padded_weight}`; + var checksum = this.ean13_checksum(barcode_data); + console.log(`${barcode_data}${checksum}`); + return `${barcode_data}${checksum}`; + }, + get_barcode_data: function(){ + return this.barcode_data(this.get_weight()); + }, + should_auto_print: function() { + return this.pos.config.iface_print_auto && !this.pos.get_order()._printed; + }, + should_close_immediately: function() { + return this.pos.config.iface_print_via_proxy && this.pos.config.iface_print_skip_screen; + }, + lock_screen: function(locked) { + this._locked = locked; + if (locked) { + this.$('.print-label').addClass('disabled'); + } else { + this.$('.print-label').removeClass('disabled'); + } + }, + print_web: function() { + window.print(); + this.pos.get_order()._printed = true; + }, + print: function() { + var self = this; + + // The problem is that in chrome the print() is asynchronous and doesn't + // execute until all rpc are finished. So it conflicts with the rpc used + // to send the orders to the backend, and the user is able to go to the next + // screen before the printing dialog is opened. The problem is that what's + // printed is whatever is in the page when the dialog is opened and not when it's called, + // and so you end up printing the product list instead of the receipt... + // + // Fixing this would need a re-architecturing + // of the code to postpone sending of orders after printing. + // + // But since the print dialog also blocks the other asynchronous calls, the + // button enabling in the setTimeout() is blocked until the printing dialog is + // closed. But the timeout has to be big enough or else it doesn't work + // 1 seconds is the same as the default timeout for sending orders and so the dialog + // should have appeared before the timeout... so yeah that's not ultra reliable. + + this.lock_screen(true); + + setTimeout(function(){ + self.lock_screen(false); + }, 1000); + + this.print_web(); + this.click_back(); + }, + click_back: function() { + this.close() + this.gui.show_screen(this.previous_screen); + }, + renderElement: function() { + var self = this; + this._super(); + this.$('.back').click(function(){ + self.click_back(); + }); + this.$('.print-label').click(function(){ + if (!self._locked) { + self.print(); + } + }); + }, + render_receipt: function() { + this.$('.pos-tare-label-container').html(QWeb.render('PosTareLabel',{widget:this})); + }, + close: function(){ + this._super(); + delete this.weight; + this.pos.proxy_queue.clear(); + }, + }); + + gui.define_screen({name:'tare', widget: TareScreenWidget}); + + }); \ No newline at end of file diff --git a/pos_barcode_tare/static/src/xml/open_tare_screen_button.xml b/pos_barcode_tare/static/src/xml/open_tare_screen_button.xml new file mode 100644 index 00000000..a96a652e --- /dev/null +++ b/pos_barcode_tare/static/src/xml/open_tare_screen_button.xml @@ -0,0 +1,9 @@ + + + + + + Créer une étiquette de tare + + + diff --git a/pos_barcode_tare/static/src/xml/tare_screen.xml b/pos_barcode_tare/static/src/xml/tare_screen.xml new file mode 100644 index 00000000..996191c4 --- /dev/null +++ b/pos_barcode_tare/static/src/xml/tare_screen.xml @@ -0,0 +1,38 @@ + + + +

+
+
+ + + Back + +

Création d'une étiquette de tare

+
+
+
+
+ Appuyez sur la touche print puis vérifiez le poids ci-dessus. +
+ +
+
+
+
+ + +
+
+
+ +
+ tare = kg +
+
+
+
+ \ No newline at end of file diff --git a/pos_barcode_tare/views/templates.xml b/pos_barcode_tare/views/templates.xml new file mode 100644 index 00000000..29894343 --- /dev/null +++ b/pos_barcode_tare/views/templates.xml @@ -0,0 +1,12 @@ + + + + +