From 3b058e0e4a789e9ae5c89658ccf9de2688a159fe Mon Sep 17 00:00:00 2001 From: cosmos Date: Wed, 2 Aug 2023 15:45:55 -0500 Subject: [PATCH] Add button Impreso --- sale.py | 31 ++++++++++++++++++++----------- sale.xml | 5 +++++ view/sale_form.xml | 2 ++ view/sale_line_form.xml | 3 +-- 4 files changed, 28 insertions(+), 13 deletions(-) diff --git a/sale.py b/sale.py index 287ba4d..961dc91 100644 --- a/sale.py +++ b/sale.py @@ -20,6 +20,7 @@ class Sale(metaclass=PoolMeta): 'kitchen': {}, 'bar': {}, 'print_bill': {}, + 'impreso': {}, }) @@ -120,16 +121,10 @@ class Sale(metaclass=PoolMeta): "quantity": line.quantity if line.type != 'title' else None, "uom": line.unit.name if line.type != 'title' else None} for line in report.lines] - #data["lines"] = [{'type': line.type, - # "product": line.product.name if line.type != 'title' else None, - # "quantity": line.quantity if line.type != 'title' else None, - # "uom": line.unit.name if line.type != 'title' else None} for line in report.lines if line.impreso == False] - - - #for line in data["lines"]: - # line.impreso = True - - #record.save() + data["lines"] = [{'type': line.type, + "product": line.product.name if line.type != 'title' else None, + "quantity": line.quantity if line.type != 'title' else None, + "uom": line.unit.name if line.type != 'title' else None} for line in report.lines if line.impreso == False] return data @@ -144,6 +139,15 @@ class Sale(metaclass=PoolMeta): record.lines += (saleLine(type="title", description="Pizza Combinada"),) record.save() + + @classmethod + @ModelView.button + def impreso(cls, records): + record = records[0] + for line in record.lines: + line.impreso = True + line.save() + record.save() @classmethod @ModelView.button @@ -198,6 +202,7 @@ class Sale(metaclass=PoolMeta): shop = context['shop'] Printer = pool.get('sale.printer') printers = Printer.search([('zone', '=', 'bar'), ('shop', '=', shop)]) + record = records[0] if not printers: return @@ -206,6 +211,10 @@ class Sale(metaclass=PoolMeta): url = f"http://{printer.api.ip_address}/order_bar" customer_order = cls.report_customer_order(records) + cls.impreso([record]) + + #cls.impreso(records) + content = {"content": str(json.dumps(customer_order)), "ip_printer": str(printer.ip_address)} headers = {"accept": 'application/json', 'Content-Type': 'application/json'} @@ -218,7 +227,7 @@ class Line(metaclass=PoolMeta): __name__ = 'sale.line' pizza = fields.Integer("Pizza") - #impreso = fields.Boolean("Impreso") + impreso = fields.Boolean("Impreso") @fields.depends('product', 'unit', 'sale', '_parent_sale.party', '_parent_sale.invoice_party', diff --git a/sale.xml b/sale.xml index 114582c..5c88593 100644 --- a/sale.xml +++ b/sale.xml @@ -37,6 +37,11 @@ Bill + + impreso + Impreso + + Customer Order sale.sale diff --git a/view/sale_form.xml b/view/sale_form.xml index b49234c..9a68680 100644 --- a/view/sale_form.xml +++ b/view/sale_form.xml @@ -10,5 +10,7 @@ this repository contains the full copyright notices and license terms. -->