diff --git a/addons/hw_drivers/controllers/driver.py b/addons/hw_drivers/controllers/driver.py index 30d6be7344a..1b055a315a2 100755 --- a/addons/hw_drivers/controllers/driver.py +++ b/addons/hw_drivers/controllers/driver.py @@ -80,10 +80,9 @@ class StatusController(http.Controller): helpers.add_credential(db_uuid, enterprise_code) try: subprocess.check_call([get_resource_path('point_of_sale', 'tools/posbox/configuration/connect_to_server.sh'), url, '', token, 'noreboot']) - helpers.check_certificate() m.send_alldevices() - m.load_iot_handlers() image = get_resource_path('hw_drivers', 'static/img', 'True.jpg') + helpers.odoo_restart(3) except subprocess.CalledProcessError as e: _logger.error('A error encountered : %s ' % e.output) if os.path.isfile(image): diff --git a/addons/hw_drivers/tools/helpers.py b/addons/hw_drivers/tools/helpers.py index 225c0ea3599..64bff4be7ab 100644 --- a/addons/hw_drivers/tools/helpers.py +++ b/addons/hw_drivers/tools/helpers.py @@ -12,6 +12,8 @@ import logging import os import subprocess import zipfile +from threading import Thread +import time from odoo import _ from odoo.modules.module import get_resource_path @@ -22,6 +24,18 @@ _logger = logging.getLogger(__name__) # Helper #---------------------------------------------------------- +class IoTRestart(Thread): + """ + Thread to restart odoo server in IoT Box when we must return a answer before + """ + def __init__(self, delay): + Thread.__init__(self) + self.delay = delay + + def run(self): + time.sleep(self.delay) + subprocess.check_call(["sudo", "service", "odoo", "restart"]) + def access_point(): return get_ip() == '10.11.12.1' @@ -218,6 +232,10 @@ def download_iot_handlers(auto=True): _logger.error('Could not reach configured server') _logger.error('A error encountered : %s ' % e) +def odoo_restart(delay): + IR = IoTRestart(delay) + IR.start() + def read_file_first_line(filename): path = Path.home() / filename path = Path('/home/pi/' + filename)