[MERGE] upstream
bzr revid: fme@openerp.com-20140130125458-rnhvcsgpafcaqftt
This commit is contained in:
commit
dac3796177
|
@ -263,12 +263,12 @@ hw_proxy.drivers['escpos'] = driver
|
|||
|
||||
class EscposProxy(hw_proxy.Proxy):
|
||||
|
||||
@http.route('/hw_proxy/open_cashbox', type='json', auth='none')
|
||||
@http.route('/hw_proxy/open_cashbox', type='json', auth='none', cors='*')
|
||||
def open_cashbox(self):
|
||||
_logger.info('ESC/POS: OPEN CASHBOX')
|
||||
driver.push_task('cashbox')
|
||||
|
||||
@http.route('/hw_proxy/print_receipt', type='json', auth='none')
|
||||
@http.route('/hw_proxy/print_receipt', type='json', auth='none', cors='*')
|
||||
def print_receipt(self, receipt):
|
||||
_logger.info('ESC/POS: PRINT RECEIPT')
|
||||
driver.push_task('receipt',receipt)
|
||||
|
|
|
@ -33,20 +33,15 @@ class Proxy(http.Controller):
|
|||
statuses[driver] = drivers[driver].get_status()
|
||||
return statuses
|
||||
|
||||
@http.route('/hw_proxy/hello', type='http', auth='none')
|
||||
@http.route('/hw_proxy/hello', type='http', auth='none', cors='*')
|
||||
def hello(self):
|
||||
return request.make_response('ping', {
|
||||
'Cache-Control': 'no-cache',
|
||||
'Content-Type': 'text/html; charset=utf-8',
|
||||
'Access-Control-Allow-Origin': '*',
|
||||
'Access-Control-Allow-Methods': 'GET',
|
||||
})
|
||||
return "ping"
|
||||
|
||||
@http.route('/hw_proxy/handshake', type='json', auth='none')
|
||||
@http.route('/hw_proxy/handshake', type='json', auth='none', cors='*')
|
||||
def handshake(self):
|
||||
return True
|
||||
|
||||
@http.route('/hw_proxy/status', type='http', auth='none')
|
||||
@http.route('/hw_proxy/status', type='http', auth='none', cors='*')
|
||||
def status_http(self):
|
||||
resp = '<html>\n<body>\n<h1>Hardware Proxy Status</h1>\n'
|
||||
statuses = self.get_status()
|
||||
|
@ -75,39 +70,39 @@ class Proxy(http.Controller):
|
|||
'Access-Control-Allow-Methods': 'GET',
|
||||
})
|
||||
|
||||
@http.route('/hw_proxy/status_json', type='json', auth='none')
|
||||
@http.route('/hw_proxy/status_json', type='json', auth='none', cors='*')
|
||||
def status_json(self):
|
||||
return self.get_status()
|
||||
|
||||
@http.route('/hw_proxy/scan_item_success', type='json', auth='none')
|
||||
@http.route('/hw_proxy/scan_item_success', type='json', auth='none', cors='*')
|
||||
def scan_item_success(self, ean):
|
||||
"""
|
||||
A product has been scanned with success
|
||||
"""
|
||||
print 'scan_item_success: ' + str(ean)
|
||||
|
||||
@http.route('/hw_proxy/scan_item_error_unrecognized', type='json', auth='none')
|
||||
@http.route('/hw_proxy/scan_item_error_unrecognized', type='json', auth='none', cors='*')
|
||||
def scan_item_error_unrecognized(self, ean):
|
||||
"""
|
||||
A product has been scanned without success
|
||||
"""
|
||||
print 'scan_item_error_unrecognized: ' + str(ean)
|
||||
|
||||
@http.route('/hw_proxy/help_needed', type='json', auth='none')
|
||||
@http.route('/hw_proxy/help_needed', type='json', auth='none', cors='*')
|
||||
def help_needed(self):
|
||||
"""
|
||||
The user wants an help (ex: light is on)
|
||||
"""
|
||||
print "help_needed"
|
||||
|
||||
@http.route('/hw_proxy/help_canceled', type='json', auth='none')
|
||||
@http.route('/hw_proxy/help_canceled', type='json', auth='none', cors='*')
|
||||
def help_canceled(self):
|
||||
"""
|
||||
The user stops the help request
|
||||
"""
|
||||
print "help_canceled"
|
||||
|
||||
@http.route('/hw_proxy/weighting_start', type='json', auth='none')
|
||||
@http.route('/hw_proxy/weighting_start', type='json', auth='none', cors='*')
|
||||
def weighting_start(self):
|
||||
if self.scale == 'closed':
|
||||
print "Opening (Fake) Connection to Scale..."
|
||||
|
@ -118,7 +113,7 @@ class Proxy(http.Controller):
|
|||
else:
|
||||
print "WARNING: Scale already Connected !!!"
|
||||
|
||||
@http.route('/hw_proxy/weighting_read_kg', type='json', auth='none')
|
||||
@http.route('/hw_proxy/weighting_read_kg', type='json', auth='none', cors='*')
|
||||
def weighting_read_kg(self):
|
||||
if self.scale == 'open':
|
||||
print "Reading Scale..."
|
||||
|
@ -130,7 +125,7 @@ class Proxy(http.Controller):
|
|||
print "WARNING: Reading closed scale !!!"
|
||||
return 0.0
|
||||
|
||||
@http.route('/hw_proxy/weighting_end', type='json', auth='none')
|
||||
@http.route('/hw_proxy/weighting_end', type='json', auth='none', cors='*')
|
||||
def weighting_end(self):
|
||||
if self.scale == 'open':
|
||||
print "Closing Connection to Scale ..."
|
||||
|
@ -141,7 +136,7 @@ class Proxy(http.Controller):
|
|||
else:
|
||||
print "WARNING: Scale already Closed !!!"
|
||||
|
||||
@http.route('/hw_proxy/payment_request', type='json', auth='none')
|
||||
@http.route('/hw_proxy/payment_request', type='json', auth='none', cors='*')
|
||||
def payment_request(self, price):
|
||||
"""
|
||||
The PoS will activate the method payment
|
||||
|
@ -149,55 +144,55 @@ class Proxy(http.Controller):
|
|||
print "payment_request: price:"+str(price)
|
||||
return 'ok'
|
||||
|
||||
@http.route('/hw_proxy/payment_status', type='json', auth='none')
|
||||
@http.route('/hw_proxy/payment_status', type='json', auth='none', cors='*')
|
||||
def payment_status(self):
|
||||
print "payment_status"
|
||||
return { 'status':'waiting' }
|
||||
|
||||
@http.route('/hw_proxy/payment_cancel', type='json', auth='none')
|
||||
@http.route('/hw_proxy/payment_cancel', type='json', auth='none', cors='*')
|
||||
def payment_cancel(self):
|
||||
print "payment_cancel"
|
||||
|
||||
@http.route('/hw_proxy/transaction_start', type='json', auth='none')
|
||||
@http.route('/hw_proxy/transaction_start', type='json', auth='none', cors='*')
|
||||
def transaction_start(self):
|
||||
print 'transaction_start'
|
||||
|
||||
@http.route('/hw_proxy/transaction_end', type='json', auth='none')
|
||||
@http.route('/hw_proxy/transaction_end', type='json', auth='none', cors='*')
|
||||
def transaction_end(self):
|
||||
print 'transaction_end'
|
||||
|
||||
@http.route('/hw_proxy/cashier_mode_activated', type='json', auth='none')
|
||||
@http.route('/hw_proxy/cashier_mode_activated', type='json', auth='none', cors='*')
|
||||
def cashier_mode_activated(self):
|
||||
print 'cashier_mode_activated'
|
||||
|
||||
@http.route('/hw_proxy/cashier_mode_deactivated', type='json', auth='none')
|
||||
@http.route('/hw_proxy/cashier_mode_deactivated', type='json', auth='none', cors='*')
|
||||
def cashier_mode_deactivated(self):
|
||||
print 'cashier_mode_deactivated'
|
||||
|
||||
@http.route('/hw_proxy/open_cashbox', type='json', auth='none')
|
||||
@http.route('/hw_proxy/open_cashbox', type='json', auth='none', cors='*')
|
||||
def open_cashbox(self):
|
||||
print 'open_cashbox'
|
||||
|
||||
@http.route('/hw_proxy/print_receipt', type='json', auth='none')
|
||||
@http.route('/hw_proxy/print_receipt', type='json', auth='none', cors='*')
|
||||
def print_receipt(self, receipt):
|
||||
print 'print_receipt' + str(receipt)
|
||||
|
||||
@http.route('/hw_proxy/is_scanner_connected', type='json', auth='none')
|
||||
@http.route('/hw_proxy/is_scanner_connected', type='json', auth='none', cors='*')
|
||||
def print_receipt(self, receipt):
|
||||
print 'is_scanner_connected?'
|
||||
return False
|
||||
|
||||
@http.route('/hw_proxy/scanner', type='json', auth='none')
|
||||
@http.route('/hw_proxy/scanner', type='json', auth='none', cors='*')
|
||||
def print_receipt(self, receipt):
|
||||
print 'scanner'
|
||||
time.sleep(10)
|
||||
return ''
|
||||
|
||||
@http.route('/hw_proxy/log', type='json', auth='none')
|
||||
@http.route('/hw_proxy/log', type='json', auth='none', cors='*')
|
||||
def log(self, arguments):
|
||||
_logger.info(' '.join(str(v) for v in arguments))
|
||||
|
||||
@http.route('/hw_proxy/print_pdf_invoice', type='json', auth='none')
|
||||
@http.route('/hw_proxy/print_pdf_invoice', type='json', auth='none', cors='*')
|
||||
def print_pdf_invoice(self, pdfinvoice):
|
||||
print 'print_pdf_invoice' + str(pdfinvoice)
|
||||
|
||||
|
|
|
@ -124,7 +124,7 @@ class Scanner(Thread):
|
|||
self.set_status('error',str(e))
|
||||
return None
|
||||
|
||||
@http.route('/hw_proxy/Vis_scanner_connected', type='json', auth='none')
|
||||
@http.route('/hw_proxy/Vis_scanner_connected', type='json', auth='none', cors='*')
|
||||
def is_scanner_connected(self):
|
||||
return self.get_device() != None
|
||||
|
||||
|
@ -207,7 +207,7 @@ s = Scanner()
|
|||
hw_proxy.drivers['scanner'] = s
|
||||
|
||||
class ScannerDriver(hw_proxy.Proxy):
|
||||
@http.route('/hw_proxy/scanner', type='json', auth='none')
|
||||
@http.route('/hw_proxy/scanner', type='json', auth='none', cors='*')
|
||||
def scanner(self):
|
||||
if not s.isAlive():
|
||||
s.start()
|
||||
|
|
|
@ -102,6 +102,8 @@ function openerp_pos_devices(instance,module){ //module is instance.point_of_sal
|
|||
};
|
||||
this.custom_payment_status = this.default_payment_status;
|
||||
|
||||
this.receipt_queue = [];
|
||||
|
||||
this.notifications = {};
|
||||
this.bypass_proxy = false;
|
||||
|
||||
|
@ -113,6 +115,13 @@ function openerp_pos_devices(instance,module){ //module is instance.point_of_sal
|
|||
|
||||
this.set_connection_status('disconnected');
|
||||
|
||||
this.on('change:status',this,function(eh,status){
|
||||
status = status.newValue;
|
||||
if(status.status === 'connected'){
|
||||
self.print_receipt();
|
||||
}
|
||||
});
|
||||
|
||||
window.hw_proxy = this;
|
||||
},
|
||||
set_connection_status: function(status,drivers){
|
||||
|
@ -502,7 +511,23 @@ function openerp_pos_devices(instance,module){ //module is instance.point_of_sal
|
|||
* }
|
||||
*/
|
||||
print_receipt: function(receipt){
|
||||
return this.message('print_receipt',{receipt: receipt});
|
||||
var self = this;
|
||||
if(receipt){
|
||||
this.receipt_queue.push(receipt);
|
||||
}
|
||||
var aborted = false;
|
||||
function send_printing_job(){
|
||||
if (self.receipt_queue.length > 0){
|
||||
var r = self.receipt_queue.shift();
|
||||
self.message('print_receipt',{ receipt: r },{ timeout: 5000 })
|
||||
.then(function(){
|
||||
send_printing_job();
|
||||
},function(){
|
||||
self.receipt_queue.unshift(r)
|
||||
});
|
||||
}
|
||||
}
|
||||
send_printing_job();
|
||||
},
|
||||
|
||||
// asks the proxy to log some information, as with the debug.log you can provide several arguments.
|
||||
|
|
Loading…
Reference in New Issue