1
0
Fork 0
This repository has been archived on 2022-08-09. You can view files and clone it, but cannot push or open issues or pull requests.
odoo-pos-distribution/iotbox/patches/cashbox-net.patch

51 lines
2.5 KiB
Diff

--- hw_printer_network_controller.py.orig 2019-06-30 16:49:26.148283215 +0200
+++ hw_printer_network_controller.py 2019-06-30 16:51:36.655439168 +0200
@@ -129,6 +129,21 @@
# add a missed order to queue
time.sleep(3)
self.queue.put((timestamp, task, data))
+ elif task == 'cashbox':
+ printer_info = self.get_network_printer(data)
+ printer = self.printer_objects.get(data, None)
+ if printer_info and printer_info['status'] == 'online' and printer:
+ _logger.info('Opening cashbox on printer %s...', data)
+ try:
+ printer.cashdraw(2)
+ printer.cashdraw(5)
+ except socket.error:
+ printer.open()
+ printer.cashdraw(2)
+ printer.cashdraw(5)
+ _logger.info('Done opening cashbox on printer %s', data)
+ else:
+ _logger.error('cashbox: printer offline!')
elif task == 'printstatus':
pass
elif task == 'status':
@@ -168,10 +183,16 @@
@http.route('/hw_proxy/print_xml_receipt', type='json', auth='none', cors='*')
def print_xml_receipt(self, receipt, proxy=None):
if proxy:
+ _logger.info('print_xml_receipt proxy %s', proxy)
network_driver.push_task('xml_receipt', (receipt, proxy))
else:
super(UpdatedEscposProxy, self).print_xml_receipt(receipt)
+ @http.route('/hw_proxy/open_cashbox', type='json', auth='none', cors='*')
+ def open_cashbox(self, proxy=None):
+ _logger.info('Open cashbox via network printer')
+ network_driver.push_task('cashbox', '192.168.233.3')
+
@http.route('/hw_proxy/network_printers', type='json', auth='none', cors='*')
def network_printers(self, network_printers=None):
for printer in network_printers:
@@ -180,3 +201,8 @@
@http.route('/hw_proxy/status_network_printers', type='json', auth='none', cors='*')
def network_printers_status(self):
return network_driver.network_printers
+
+ @http.route('/hw_proxy/without_usb', type='http', auth='none', cors='*')
+ def without_usb(self):
+ """ Old pos_printer_network module expects this to work """
+ return "ping"