summaryrefslogtreecommitdiff
path: root/addons/hw_drivers
diff options
context:
space:
mode:
authorlejeune quentin <qle@odoo.com>2020-02-25 11:16:00 +0000
committerlejeune quentin <qle@odoo.com>2020-02-25 14:08:49 +0000
commit17c181ac74aefa2bf3e43f8e945895e6105feec2 (patch)
tree83d39eee80577917afb0891df0c26dd6ba16894d /addons/hw_drivers
parent965eef99d81f957ed222ad48d4027823c8728e80 (diff)
[FIX] hw_drievrs: Replace SSID on the first boot
We replace the SSID of the IoTBox with a unique SSID closes odoo/odoo#46255 X-original-commit: c847c1cb149e386331ff2e5b19a58862e1b66714 Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Diffstat (limited to 'addons/hw_drivers')
-rw-r--r--addons/hw_drivers/drivers/DisplayDriver.py2
-rw-r--r--addons/hw_drivers/drivers/PrinterDriver.py9
-rw-r--r--addons/hw_drivers/tools/helpers.py3
-rw-r--r--addons/hw_drivers/views/pos_display.html2
4 files changed, 7 insertions, 9 deletions
diff --git a/addons/hw_drivers/drivers/DisplayDriver.py b/addons/hw_drivers/drivers/DisplayDriver.py
index aed483fc5ea..cdaf1659c93 100644
--- a/addons/hw_drivers/drivers/DisplayDriver.py
+++ b/addons/hw_drivers/drivers/DisplayDriver.py
@@ -196,10 +196,12 @@ class DisplayController(http.Controller):
if 'wlan' in iface_id or 'eth' in iface_id:
iface_obj = ni.ifaddresses(iface_id)
ifconfigs = iface_obj.get(ni.AF_INET, [])
+ essid = helpers.get_ssid()
for conf in ifconfigs:
if conf.get('addr'):
display_ifaces.append({
'iface_id': iface_id,
+ 'essid': essid,
'addr': conf.get('addr'),
'icon': 'sitemap' if 'eth' in iface_id else 'wifi',
})
diff --git a/addons/hw_drivers/drivers/PrinterDriver.py b/addons/hw_drivers/drivers/PrinterDriver.py
index 72919dd4cf0..e47df2b61a2 100644
--- a/addons/hw_drivers/drivers/PrinterDriver.py
+++ b/addons/hw_drivers/drivers/PrinterDriver.py
@@ -233,15 +233,8 @@ class PrinterDriver(Driver):
mac = ''
homepage = ''
- hosting_ap = os.system('pgrep hostapd') == 0
ssid = helpers.get_ssid()
- if hosting_ap:
- with open('/root_bypass_ramdisks/etc/hostapd/hostapd.conf') as config_file:
- lines = config_file.readlines()
- ssid = lines[1].split("=")[1].replace("\n", "")
- wlan = '\nWireless network:\n%s\n\n' % ssid
- elif ssid:
- wlan = '\nWireless network:\n%s\n\n' % ssid
+ wlan = '\nWireless network:\n%s\n\n' % ssid
interfaces = ni.interfaces()
ips = []
diff --git a/addons/hw_drivers/tools/helpers.py b/addons/hw_drivers/tools/helpers.py
index f59de214d9d..0be09086e4d 100644
--- a/addons/hw_drivers/tools/helpers.py
+++ b/addons/hw_drivers/tools/helpers.py
@@ -129,6 +129,9 @@ def get_mac_address():
return netifaces.ifaddresses('wlan0')[netifaces.AF_LINK][0]['addr']
def get_ssid():
+ ap = subprocess.call(['systemctl', 'is-active', 'hostapd']) # if service is active return 0 else inactive
+ if not ap:
+ return subprocess.check_output(['grep', '-oP', '(?<=ssid=).*', '/etc/hostapd/hostapd.conf']).decode('utf-8').rstrip()
process_iwconfig = subprocess.Popen(['iwconfig'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
process_grep = subprocess.Popen(['grep', 'ESSID:"'], stdin=process_iwconfig.stdout, stdout=subprocess.PIPE)
return subprocess.check_output(['sed', 's/.*"\\(.*\\)"/\\1/'], stdin=process_grep.stdout).decode('utf-8').rstrip()
diff --git a/addons/hw_drivers/views/pos_display.html b/addons/hw_drivers/views/pos_display.html
index 4177462f072..cfe848f6645 100644
--- a/addons/hw_drivers/views/pos_display.html
+++ b/addons/hw_drivers/views/pos_display.html
@@ -60,7 +60,7 @@
<tbody>
{% for display_iface in display_ifaces -%}
<tr>
- <td><i class="fa fa-{{ display_iface.icon }}"></i></td>
+ <td><i class="fa fa-{{ display_iface.icon }}"/> {{ display_iface.essid }}</td>
<td>{{ display_iface.addr }}</td>
</tr>
{%- endfor %}