# Copyright 2021 Le Filament () # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from odoo import fields, models, api from datetime import datetime class PosOrderLine(models.Model): _inherit = 'pos.order.line' # ------------------------------------------------------ # Fields declaration # ------------------------------------------------------ caisse_id = fields.Char('Id de la caisse') # ------------------------------------------------------ # SQL Constraints # ------------------------------------------------------ # ------------------------------------------------------ # Default methods # ------------------------------------------------------ # ------------------------------------------------------ # Computed fields / Search Fields # ------------------------------------------------------ # ------------------------------------------------------ # Onchange / Constraints # ------------------------------------------------------ # ------------------------------------------------------ # CRUD methods (ORM overrides) # ------------------------------------------------------ # @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) # # if not res.product_id.default_code: # code = "0000" # else: # code = res.product_id.default_code # prod = (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, # "balance_id": res.caisse_id # } # self.env['pos.transaction'].create(vals) # return res # ------------------------------------------------------ # Actions # ------------------------------------------------------ # ------------------------------------------------------ # Business methods # ------------------------------------------------------