diff --git a/__manifest__.py b/__manifest__.py index bad2149..a56b59d 100755 --- a/__manifest__.py +++ b/__manifest__.py @@ -1,7 +1,7 @@ { "name": "VRACOOP - POS API Mayam", "summary": "POS API Mayam", - "version": "12.0.1.0.1", + "version": "12.0.1.1.1", "development_status": "Beta", "author": "Le Filament", "maintainers": ["remi-filament"], diff --git a/models/__init__.py b/models/__init__.py index 261613f..9b67676 100755 --- a/models/__init__.py +++ b/models/__init__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -# from . import pos_order_line +from . import pos_order_line from . import pos_transaction \ No newline at end of file diff --git a/models/pos_order_line.py b/models/pos_order_line.py index a4d2afc..129141f 100644 --- a/models/pos_order_line.py +++ b/models/pos_order_line.py @@ -11,7 +11,7 @@ class PosOrderLine(models.Model): # ------------------------------------------------------ # Fields declaration # ------------------------------------------------------ - + caisse_id = fields.Char('Id de la caisse') # ------------------------------------------------------ # SQL Constraints # ------------------------------------------------------ @@ -34,44 +34,50 @@ class PosOrderLine(models.Model): @api.model def create(self, values): res = super(PosOrderLine, self).create(values) - if res.container_id: - today = datetime.today().isoformat('T')[:19] - - weight_str = str(int(res.qty * 1000)) - # weight_str = str(res.qty * 1000).zfill(5) - - prod = (res.product_id.default_code).zfill(5) - ean13 = "26" + prod + weight_str.zfill(5) + "4" - - weight_brut_str = str(int((res.container_weight + res.qty) * 1000)) - - ean13_verif = "2600999" + weight_brut_str.zfill(5) + "4" - - seller_id = self.env['product.supplierinfo'].search([ - ("product_tmpl_id", '=', res.product_id.product_tmpl_id.id)], - limit=1) - - nomenclature = self.env['barcode.nomenclature'].browse(1) - ean13_digit = nomenclature.sanitize_ean(ean13) - ean13_verif_digit = nomenclature.sanitize_ean(ean13_verif) - - vals = { - "date_iso": today, - 'qrcode': 'https://qr.mayam.fr/' + str(res.container_id.barcode), - "container_ean13": res.container_id.barcode, - "product_id": res.product_id.id, - "name": res.product_id.name, - "price_net": res.price_subtotal, - "price_product": res.price_unit, - "weight_net": res.qty, - "weight_tare": res.container_weight, - "seller_name": seller_id.name.name, - "seller_code": seller_id.product_code, - "ean13": ean13_digit, - "ean13_verif": ean13_verif_digit, - "is_pos": True, - } - self.env['pos.transaction'].create(vals) + if not res.order_id.config_id.is_balance_free: + if res.container_id: + today = datetime.today().isoformat('T')[:19] + + weight_str = str(int(res.qty * 1000)) + # weight_str = str(res.qty * 1000).zfill(5) + + if res.product_id.default_code: + prod = (res.product_id.default_code).zfill(5) + else: + prod = "12345" + + ean13 = "26" + prod + weight_str.zfill(5) + "4" + + weight_brut_str = str(int((res.container_weight + res.qty) * 1000)) + + ean13_verif = "2600999" + weight_brut_str.zfill(5) + "4" + + seller_id = self.env['product.supplierinfo'].search([ + ("product_tmpl_id", '=', res.product_id.product_tmpl_id.id)], + limit=1) + + nomenclature = self.env['barcode.nomenclature'].browse(1) + ean13_digit = nomenclature.sanitize_ean(ean13) + ean13_verif_digit = nomenclature.sanitize_ean(ean13_verif) + + vals = { + "date_iso": today, + 'qrcode': 'https://qr.mayam.fr/' + str(res.container_id.barcode), + "container_ean13": res.container_id.barcode, + "product_id": res.product_id.id, + "name": res.product_id.name, + "price_net": res.price_subtotal, + "price_product": res.price_unit, + "weight_net": res.qty, + "weight_tare": res.container_weight, + "seller_name": seller_id.name.name, + "seller_code": seller_id.product_code, + "ean13": ean13_digit, + "ean13_verif": ean13_verif_digit, + "is_pos": True, + "balance_id": res.caisse_id + } + self.env['pos.transaction'].create(vals) return res # ------------------------------------------------------ # Actions