[IMP] hw_escpos, hw_proxy: improved status page appeareance, add a listing of connected devices to hardware status page
bzr revid: fva@openerp.com-20140326103230-ib1myl1rmipoynkn
This commit is contained in:
parent
6aa0187ca3
commit
9e801815bf
|
@ -37,6 +37,7 @@ from openerp.tools.translate import _
|
||||||
|
|
||||||
_logger = logging.getLogger(__name__)
|
_logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class EscposDriver(Thread):
|
class EscposDriver(Thread):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
Thread.__init__(self)
|
Thread.__init__(self)
|
||||||
|
@ -46,6 +47,7 @@ class EscposDriver(Thread):
|
||||||
|
|
||||||
def connected_usb_devices(self):
|
def connected_usb_devices(self):
|
||||||
connected = []
|
connected = []
|
||||||
|
|
||||||
for device in supported_devices.device_list:
|
for device in supported_devices.device_list:
|
||||||
if usb.core.find(idVendor=device['vendor'], idProduct=device['product']) != None:
|
if usb.core.find(idVendor=device['vendor'], idProduct=device['product']) != None:
|
||||||
connected.append(device)
|
connected.append(device)
|
||||||
|
@ -75,6 +77,8 @@ class EscposDriver(Thread):
|
||||||
self.push_task('status')
|
self.push_task('status')
|
||||||
return self.status
|
return self.status
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def open_cashbox(self,printer):
|
def open_cashbox(self,printer):
|
||||||
printer.cashdraw(2)
|
printer.cashdraw(2)
|
||||||
printer.cashdraw(5)
|
printer.cashdraw(5)
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
import logging
|
import logging
|
||||||
|
import commands
|
||||||
import simplejson
|
import simplejson
|
||||||
import os
|
import os
|
||||||
import os.path
|
import os.path
|
||||||
|
@ -43,7 +44,32 @@ class Proxy(http.Controller):
|
||||||
|
|
||||||
@http.route('/hw_proxy/status', type='http', auth='none', cors='*')
|
@http.route('/hw_proxy/status', type='http', auth='none', cors='*')
|
||||||
def status_http(self):
|
def status_http(self):
|
||||||
resp = '<html>\n<body>\n<h1>Hardware Proxy Status</h1>\n'
|
resp = """
|
||||||
|
<!DOCTYPE HTML>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>OpenERP's PosBox</title>
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
width: 480px;
|
||||||
|
margin: 60px auto;
|
||||||
|
font-family: sans-serif;
|
||||||
|
text-align: justify;
|
||||||
|
color: #6B6B6B;
|
||||||
|
}
|
||||||
|
.device {
|
||||||
|
border-bottom: solid 1px rgb(216,216,216);
|
||||||
|
padding: 9px;
|
||||||
|
}
|
||||||
|
.device:nth-child(2n) {
|
||||||
|
background:rgb(240,240,240);
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>Hardware Status</h1>
|
||||||
|
<p>The list of enabled drivers and their status</p>
|
||||||
|
"""
|
||||||
statuses = self.get_status()
|
statuses = self.get_status()
|
||||||
for driver in statuses:
|
for driver in statuses:
|
||||||
|
|
||||||
|
@ -56,12 +82,22 @@ class Proxy(http.Controller):
|
||||||
else:
|
else:
|
||||||
color = 'red'
|
color = 'red'
|
||||||
|
|
||||||
resp += "<h2 style='color:"+color+";'>"+driver+' : '+status['status']+"</h2>\n"
|
resp += "<h3 style='color:"+color+";'>"+driver+' : '+status['status']+"</h3>\n"
|
||||||
resp += "<ul>\n"
|
resp += "<ul>\n"
|
||||||
for msg in status['messages']:
|
for msg in status['messages']:
|
||||||
resp += '<li>'+msg+'</li>\n'
|
resp += '<li>'+msg+'</li>\n'
|
||||||
resp += "</ul>\n"
|
resp += "</ul>\n"
|
||||||
resp += "<script>\n\tsetTimeout(function(){window.location.reload();},30000);\n</script>\n</body>\n</html>\n\n"
|
resp += """
|
||||||
|
<h2>Connected Devices</h2>
|
||||||
|
<p>The list of connected USB devices as seen by the posbox</p>
|
||||||
|
"""
|
||||||
|
devices = commands.getoutput("lsusb").split('\n')
|
||||||
|
resp += "<div class='devices'>\n"
|
||||||
|
for device in devices:
|
||||||
|
device_name = device[device.find('ID')+2:]
|
||||||
|
resp+= "<div class='device' data-device='"+device+"'>"+device_name+"</div>\n"
|
||||||
|
resp += "</div>\n"
|
||||||
|
resp += "</body>\n</html>\n\n"
|
||||||
|
|
||||||
return request.make_response(resp,{
|
return request.make_response(resp,{
|
||||||
'Cache-Control': 'no-cache',
|
'Cache-Control': 'no-cache',
|
||||||
|
|
Loading…
Reference in New Issue