# -*- coding: utf-8 -*- import logging import os import time import werkzeug import subprocess from os import listdir import openerp from openerp import http from openerp.http import request from openerp.tools.translate import _ _logger = logging.getLogger(__name__) index_style = """ """ index_template = """ Odoo's PosBox """ + index_style + """

Your PosBox is up and running

The PosBox is an hardware adapter that allows you to use receipt printers and barcode scanners with Odoo's Point of Sale, version 8.0 or later. You can start an online free trial, or download and install it yourself.

For more information on how to setup the Point of Sale with the PosBox, please refer to the manual.

To see the status of the connected hardware, please refer to the hardware status page.

Wi-Fi can be configured by visiting the Wi-Fi configuration page.

The PosBox software installed on this posbox is version 13, the posbox version number is independent from Odoo. You can upgrade the software on the upgrade page.

For any other question, please contact the Odoo support at support@odoo.com

""" class PosboxHomepage(openerp.addons.web.controllers.main.Home): @http.route('/', type='http', auth='none', website=True) def index(self): #return request.render('hw_posbox_homepage.index',mimetype='text/html') return index_template @http.route('/wifi', type='http', auth='none', website=True) def wifi(self): wifi_template = """ Wifi configuration """ + index_style + """

Configure wifi

Here you can configure how the posbox should connect to wireless networks. Currently only Open and WPA networks are supported. When enabling the persistent checkbox, the chosen network will be saved and the posbox will attempt to connect to it every time it boots.

ESSID:
Password:
Persistent:

You can clear the persistent configuration by clicking below:

""" return wifi_template @http.route('/wifi_connect', type='http', auth='none', cors='*') def connect_to_wifi(self, essid, password, persistent=False): if persistent: persistent = "1" else: persistent = "" subprocess.call(['/home/pi/odoo/addons/point_of_sale/tools/posbox/configuration/connect_to_wifi.sh', essid, password, persistent]) return "connecting to " + essid @http.route('/wifi_clear', type='http', auth='none', cors='*') def clear_wifi_configuration(self): os.system('/home/pi/odoo/addons/point_of_sale/tools/posbox/configuration/clear_wifi_configuration.sh') return "configuration cleared" @http.route('/remote_connect', type='http', auth='none', cors='*') def remote_connect(self): ngrok_template = """ Remote debugging """ + index_style + """

Remote debugging

This allows someone to gain remote access to your Posbox, and thus your entire local network. Only enable this for someone you trust.


Enable remote debugging
""" return ngrok_template @http.route('/enable_ngrok', type='http', auth='none', cors='*') def enable_ngrok(self, auth_token): if subprocess.call(['pgrep', 'ngrok']) == 1: subprocess.Popen(['ngrok', 'tcp', '-authtoken', auth_token, '-log', '/tmp/ngrok.log', '22']) return 'starting with ' + auth_token else: return 'already running'