From f3b49f5a3f842ac6df0c256391f256d4c9c0096d Mon Sep 17 00:00:00 2001 From: Wilson Gomez Date: Thu, 2 Nov 2023 16:22:50 -0500 Subject: [PATCH] refactory printer receip_sale --- app/main.py | 38 +++++++++++++++++--------------------- app/reporting.py | 25 +++++++++++++++++++------ app/version.py | 2 +- 3 files changed, 37 insertions(+), 28 deletions(-) diff --git a/app/main.py b/app/main.py index 03066a3..57aa834 100644 --- a/app/main.py +++ b/app/main.py @@ -89,8 +89,8 @@ class AppWindow(FrontWindow): self.journal = {} self.active_usb_printers = [] - if os.name == 'posix' and os.path.exists(PATH_PRINTERS): - self.set_printers_usb(PATH_PRINTERS) + # if os.name == 'posix' and os.path.exists(PATH_PRINTERS): + # self.set_printers_usb(PATH_PRINTERS) self.set_printing_context() self.statusbar = StatusBar(self) @@ -214,6 +214,7 @@ class AppWindow(FrontWindow): ctx_printing = self.Sale.get_printing_context( args=[{'device_id': self.device['id']}]) ctx_printing['row_characters'] = self.row_characters + ctx_printing['params'] = self.ctx['params'] ctx_printing['delta_locale'] = DELTA_LOCALE locale_logo = '' if self.logo: @@ -235,16 +236,16 @@ class AppWindow(FrontWindow): self.set_default_printer() def set_default_printer(self, printer=None): - if self.active_usb_printers: - self.printer_sale_name = self.active_usb_printers[0] - if not printer and self.printer_sale_name: - printer = { - 'interface': self.printer_sale_name[0], - 'device': self.printer_sale_name[1], - 'profile': self.profile_printer, - } - if printer: - self.receipt_sale.config_printer(printer) + # if self.active_usb_printers: + # self.printer_sale_name = self.active_usb_printers[0] + # if not printer and self.printer_sale_name: + # printer = { + # 'interface': self.printer_sale_name[0], + # 'device': self.printer_sale_name[1], + # 'profile': self.profile_printer, + # } + # if printer: + self.receipt_sale.config_printer(printer) def button_new_sale_pressed(self): self.create_new_sale() @@ -1042,7 +1043,7 @@ class AppWindow(FrontWindow): self.message_bar.set('system_ready') return True - def print_invoice(self, sale_id=None, type_doc='invoice', open_box=False, copies=1): + def print_invoice(self, sale_id=None, type_doc='invoice', open_box=False): if not sale_id: sale_id = self.store.sale_id args = { @@ -1052,11 +1053,9 @@ class AppWindow(FrontWindow): data = self.Sale.get_data(args) if not data: return - for i in range(copies): - msg = self.receipt_sale.print_sale(data, type_doc, open_box) - if isinstance(msg, dict) and msg.get('error'): - self.dialog('print_error', extra_message=msg['error']) - break + msg = self.receipt_sale.print_sale(data, type_doc, open_box) + if isinstance(msg, dict) and msg.get('error'): + self.dialog('print_error', extra_message=msg['error']) # def button_duplicate_sale(self): # if self.sale_customer_selected: @@ -3733,8 +3732,6 @@ class AppWindow(FrontWindow): sale_id = self.sale_id current_row = self.dialog_search_folio_transfer.current_row guest = current_row['main_guest.name'] - party = sale['party']['name'] - number = sale['number'] room = current_row['room.code'] msg = f"\n\n HABITACION: {room} \n HUESPED: {guest}" dialog = self.dialog('confirm_transfer_sale', response=True, extra_message=msg) @@ -3752,7 +3749,6 @@ class AppWindow(FrontWindow): if not target_sale_id: return current_row = self.dialog_search_sale_transfer.current_row - print(current_row, 'hisdhid') msg = f"\n\n VENTA: {current_row['number']} \n CLIENTE: {current_row['party.name']} \n DESCRIPCION: {current_row['description']}" dialog = self.dialog('confirm_transfer_sale', response=True, extra_message=msg) dialog.adjustSize() diff --git a/app/reporting.py b/app/reporting.py index 7592d72..2986afb 100755 --- a/app/reporting.py +++ b/app/reporting.py @@ -95,6 +95,7 @@ class Receipt(object): self.order_copies = context.get('order_copies') or 0 self.invoice_copies = context.get('invoice_copies') or 0 self.order_kind = 'command' if environment == 'restaurant' else 'dispatch' + self.params = context.get('params') self._row_characters = _ROW_CHARACTERS if context.get('row_characters'): @@ -174,14 +175,25 @@ class Receipt(object): # self._printer.beep() def config_printer(self, printer): - if dev_printers.get(printer['device']): - device = dev_printers[printer['device']] + if printer: + self._device = printer['device'] + self._interface = printer['interface'] + self._profile = printer['profile'] + elif dev_printers: + self._interface = 'usb' + self._device = dev_printers['usb'] + self._profile = self.params.get('profile_printer') else: - device = printer['device'] + self._device = self.params.get('printer_sale_name')[1] + self._interface = self.params.get('printer_sale_name')[0] + self._profile = self.params.get('profile_printer') - self._interface = printer['interface'] - self._device = device - self._profile = printer['profile'] + # if dev_printers.get(printer['device']): + # device = dev_printers[printer['device']] + # else: + # device = printer['device'] + + # self._profile = printer['profile'] def check_status(self, interface, device): status = False @@ -223,6 +235,7 @@ class Receipt(object): if port: self._printer = printer.Network(host, port=int(port), timeout=5) else: + print(host, 'VALIDATE o') self._printer = printer.Network(host, timeout=5) if not self._printer: msg = "Warning: Can not found Printer!" diff --git a/app/version.py b/app/version.py index 14ee9e5..210e99a 100644 --- a/app/version.py +++ b/app/version.py @@ -1 +1 @@ -__version__ = "6.0.28" +__version__ = "6.0.29"