add new option to print order
This commit is contained in:
parent
8292e69d03
commit
ebdeffc60c
24
app/main.py
24
app/main.py
|
@ -247,6 +247,11 @@ class AppWindow(FrontWindow):
|
|||
if self.check_salesman():
|
||||
# self.state_disabled()
|
||||
pass
|
||||
try:
|
||||
self.action_send_order(sale_id=self._sale['id'], init_view=False)
|
||||
except:
|
||||
pass
|
||||
|
||||
try:
|
||||
self.Sale.generate_shipment({
|
||||
'sale_id': self._sale['id'],
|
||||
|
@ -256,6 +261,7 @@ class AppWindow(FrontWindow):
|
|||
except:
|
||||
self.dialog('error_order_dispatched')
|
||||
|
||||
|
||||
def button_to_draft_pressed(self):
|
||||
# Return sale to draft state
|
||||
if hasattr(self, '_sale'):
|
||||
|
@ -789,10 +795,10 @@ class AppWindow(FrontWindow):
|
|||
'id': self._sale_line['id'],
|
||||
'quantity': quantity,
|
||||
}
|
||||
if self._config.get('use_price_list'):
|
||||
args['use_price_list'] = True
|
||||
# if self._config.get('use_price_list'):
|
||||
# args['use_price_list'] = True
|
||||
ctx = None
|
||||
if hasattr(self, 'field_list_price'):
|
||||
if hasattr(self, 'field_list_price') and self._config.get('use_price_list'):
|
||||
ctx = {'price_list': self.field_list_price.get_id()}
|
||||
rec = self.SaleLine.faster_set_quantity(args, ctx=ctx)
|
||||
except:
|
||||
|
@ -1581,7 +1587,10 @@ class AppWindow(FrontWindow):
|
|||
self.model_sale_lines.update_record(line)
|
||||
self.store.set({'number': sale_number})
|
||||
self.order_number.setText(sale_number)
|
||||
result = self.receipt_order.print_orders(orders, reversion, kind)
|
||||
if self.enviroment != 'restaurant':
|
||||
result = self.receipt_sale.print_orders(orders, reversion, kind)
|
||||
else:
|
||||
result = self.receipt_order.print_orders(orders, reversion, kind)
|
||||
except:
|
||||
logging.error('Printing order fail!')
|
||||
return result
|
||||
|
@ -1635,7 +1644,6 @@ class AppWindow(FrontWindow):
|
|||
kind = 'dispatch'
|
||||
if self.enviroment == 'restaurant':
|
||||
kind = 'command'
|
||||
|
||||
if not sale_id and self._sale['id']:
|
||||
sale_id = self._sale['id']
|
||||
|
||||
|
@ -3162,10 +3170,10 @@ class AppWindow(FrontWindow):
|
|||
'id': data['id'],
|
||||
'quantity': to_float(v, 2)
|
||||
}
|
||||
if self._config.get('use_price_list'):
|
||||
qty_data['use_price_list'] = True
|
||||
# if self._config.get('use_price_list'):
|
||||
# qty_data['use_price_list'] = True
|
||||
ctx = None
|
||||
if hasattr(self, 'field_list_price'):
|
||||
if hasattr(self, 'field_list_price') and self._config.get('use_price_list'):
|
||||
ctx = {'price_list': self.field_list_price.get_id()}
|
||||
self.SaleLine.faster_set_quantity(qty_data, ctx=ctx)
|
||||
elif k == 'update_base_price':
|
||||
|
|
|
@ -216,10 +216,14 @@ class Receipt(object):
|
|||
self.logger.info("Warning: Can not found Printer!")
|
||||
return
|
||||
self.logger.info("Info: Printer is OK!")
|
||||
if type_doc == 'invoice' or self._environment == 'retail':
|
||||
self._print_sale(sale, type_doc, open_box)
|
||||
else:
|
||||
self._print_sale_verification(sale)
|
||||
try:
|
||||
if type_doc == 'invoice' or self._environment == 'retail':
|
||||
self._print_sale(sale, type_doc, open_box)
|
||||
else:
|
||||
self._print_sale_verification(sale)
|
||||
except:
|
||||
pass
|
||||
self._printer.close()
|
||||
except:
|
||||
self.logger.info("Warning: Printer error or device not found!")
|
||||
|
||||
|
@ -402,20 +406,20 @@ class Receipt(object):
|
|||
self.print_logo()
|
||||
self._printer.set(align='center')
|
||||
if self._header != '' and self._header is not None:
|
||||
self._printer.text(self._header)
|
||||
self.print_enter()
|
||||
self._printer.text(self._company)
|
||||
self.print_enter()
|
||||
self._printer.text(self._shop)
|
||||
self.print_enter()
|
||||
self._printer.textln(self._header)
|
||||
# self.print_enter()
|
||||
self._printer.textln(self._company)
|
||||
# self.print_enter()
|
||||
self._printer.textln(self._shop)
|
||||
# self.print_enter()
|
||||
if self._id_number:
|
||||
self._printer.text('NIT:' + self._id_number)
|
||||
if self._regime_tax:
|
||||
self._printer.text(' ' + self._regime_tax)
|
||||
self.print_enter()
|
||||
if self._street:
|
||||
self._printer.text(self._street)
|
||||
self.print_enter()
|
||||
self._printer.textln(self._street)
|
||||
# self.print_enter()
|
||||
if self._city:
|
||||
self._printer.text(self._city)
|
||||
if self._phone:
|
||||
|
@ -424,8 +428,9 @@ class Receipt(object):
|
|||
self._printer.text('Telefono:' + self._phone)
|
||||
if self._city or self._phone:
|
||||
self.print_enter()
|
||||
self.print_enter()
|
||||
self.print_enter()
|
||||
self._printer.ln(2)
|
||||
# self.print_enter()
|
||||
# self.print_enter()
|
||||
|
||||
def print_horinzontal_line(self, size=None):
|
||||
if size == 'big':
|
||||
|
@ -783,23 +788,34 @@ class Receipt(object):
|
|||
self._printer = printer.File(host)
|
||||
elif os.name == 'nt':
|
||||
self._printer = printer.Win32Raw(host)
|
||||
self._printer.open()
|
||||
# self._printer.open()
|
||||
elif order['interface'] == 'network':
|
||||
self._printer = printer.Network(host, timeout=15)
|
||||
elif order['interface'] == 'ssh':
|
||||
self._printer = FileSSH(*host.split('@'))
|
||||
if self._printer:
|
||||
self._printer.open()
|
||||
# if self._printer:
|
||||
# self._printer.open()
|
||||
elif order['interface'] == 'cups':
|
||||
pass
|
||||
|
||||
if not hasattr(self, '_printer') and self._environment != 'restaurant':
|
||||
self.set_printer()
|
||||
if not self._printer:
|
||||
self.logger.info(
|
||||
"Warning: Interface not found for printer!")
|
||||
res.append(None)
|
||||
continue
|
||||
else:
|
||||
try:
|
||||
self._printer.open()
|
||||
except:
|
||||
pass
|
||||
|
||||
self.logger.info("Info: Printer is OK!")
|
||||
res.append(self._print_order(order, reversion))
|
||||
try:
|
||||
res.append(self._print_order(order, reversion))
|
||||
except:
|
||||
pass
|
||||
self._printer.close()
|
||||
except:
|
||||
self.logger.info("Warning: Can not found Printer!")
|
||||
|
|
Loading…
Reference in New Issue