modules/admin-full: use luci.tools.status for remaining wifi status displays

This commit is contained in:
Jo-Philipp Wich 2011-03-13 17:25:54 +00:00
parent 8e5590037d
commit c7cf8ef8c1
3 changed files with 18 additions and 34 deletions

View file

@ -2,6 +2,7 @@
LuCI - Lua Configuration Interface LuCI - Lua Configuration Interface
Copyright 2008 Steven Barth <steven@midlink.org> Copyright 2008 Steven Barth <steven@midlink.org>
Copyright 2011 Jo-Philipp Wich <xm@subsignal.org>
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.
@ -326,30 +327,13 @@ function iface_delete()
end end
function wifi_status() function wifi_status()
local netm = require "luci.model.network".init()
local path = luci.dispatcher.context.requestpath local path = luci.dispatcher.context.requestpath
local s = require "luci.tools.status"
local rv = { } local rv = { }
local dev local dev
for dev in path[#path]:gmatch("[%w%.%-]+") do for dev in path[#path]:gmatch("[%w%.%-]+") do
local j = { id = dev } rv[#rv+1] = s.wifi_network(dev)
local wn = netm:get_wifinet(dev)
local iw = wn and wn.iwinfo
if iw then
local f
for _, f in ipairs({
"channel", "frequency", "txpower", "bitrate", "signal", "noise",
"quality", "quality_max", "bssid", "country",
"encryption", "ifname", "assoclist"
}) do
j[f] = iw[f]
end
end
j.mode = wn and wn:active_mode() or "?"
j.ssid = wn and wn:active_ssid() or "?"
rv[#rv+1] = j
end end
if #rv > 0 then if #rv > 0 then

View file

@ -1,7 +1,7 @@
<%# <%#
LuCI - Lua Configuration Interface LuCI - Lua Configuration Interface
Copyright 2008-2009 Steven Barth <steven@midlink.org> Copyright 2008-2009 Steven Barth <steven@midlink.org>
Copyright 2008-2010 Jo-Philipp Wich <xm@subsignal.org> Copyright 2008-2011 Jo-Philipp Wich <xm@subsignal.org>
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.
@ -102,8 +102,8 @@ $Id$
for _, dev in ipairs(devices) do for _, dev in ipairs(devices) do
local net local net
for _, net in ipairs(dev:get_wifinets()) do for _, net in ipairs(dev:get_wifinets()) do
netlist[#netlist+1] = net:ifname() netlist[#netlist+1] = net:id()
netdevs[net:ifname()] = dev:name() netdevs[net:id()] = dev:name()
end end
end end
-%> -%>
@ -139,8 +139,8 @@ $Id$
for( var i = 0; i < st.length; i++ ) for( var i = 0; i < st.length; i++ )
{ {
var iw = st[i]; var iw = st[i];
var is_assoc = (iw.bssid && iw.channel); var is_assoc = (iw.bssid && iw.bssid != '00:00:00:00:00:00' && iw.channel);
var p = (100 / iw.quality_max * iw.quality); var p = iw.quality;
var q = is_assoc ? p : -1; var q = is_assoc ? p : -1;
var icon; var icon;
@ -177,7 +177,7 @@ $Id$
'<strong><%:BSSID%>:</strong> %s | ' + '<strong><%:BSSID%>:</strong> %s | ' +
'<strong><%:Encryption%>:</strong> %s', '<strong><%:Encryption%>:</strong> %s',
iw.ssid, iw.mode, iw.bssid, iw.ssid, iw.mode, iw.bssid,
iw.encryption ? iw.encryption.description : '<%:None%>' iw.encryption ? iw.encryption : '<%:None%>'
); );
else else
info.innerHTML = String.format( info.innerHTML = String.format(
@ -196,8 +196,8 @@ $Id$
'<strong><%:Channel%>:</strong> %s (%s GHz) | ' + '<strong><%:Channel%>:</strong> %s (%s GHz) | ' +
'<strong><%:Bitrate%>:</strong> %s Mb/s', '<strong><%:Bitrate%>:</strong> %s Mb/s',
iw.channel ? iw.channel : '?', iw.channel ? iw.channel : '?',
iw.frequency ? iw.frequency / 1000 : '?', iw.frequency ? iw.frequency : '?',
iw.bitrate ? iw.bitrate / 1000 : '?' iw.bitrate ? iw.bitrate : '?'
); );
else else
dev.innerHTML = ''; dev.innerHTML = '';
@ -302,11 +302,11 @@ $Id$
<% for i, net in ipairs(nets) do %> <% for i, net in ipairs(nets) do %>
<tr class="cbi-section-table-row cbi-rowstyle-<%=1 + ((i-1) % 2)%>"> <tr class="cbi-section-table-row cbi-rowstyle-<%=1 + ((i-1) % 2)%>">
<td></td> <td></td>
<td class="cbi-value-field" style="width:16px; padding:3px" id="<%=net:ifname()%>-iw-signal"> <td class="cbi-value-field" style="width:16px; padding:3px" id="<%=net:id()%>-iw-signal">
<img src="<%=resource%>/icons/signal-none.png" title="<%:Not associated%>" /><br /> <img src="<%=resource%>/icons/signal-none.png" title="<%:Not associated%>" /><br />
<small>0%</small> <small>0%</small>
</td> </td>
<td class="cbi-value-field" style="vertical-align:middle; text-align:left; padding:3px" id="<%=net:ifname()%>-iw-status"> <td class="cbi-value-field" style="vertical-align:middle; text-align:left; padding:3px" id="<%=net:id()%>-iw-status">
<em><%:Collecting data...%></em> <em><%:Collecting data...%></em>
</td> </td>
<td class="cbi-value-field" style="width:40px"> <td class="cbi-value-field" style="width:40px">

View file

@ -8,8 +8,8 @@
{ {
if (iw && (iw = iw[0])) if (iw && (iw = iw[0]))
{ {
var is_assoc = (iw.bssid && iw.channel); var is_assoc = (iw.bssid && iw.bssid != '00:00:00:00:00:00' && iw.channel);
var p = (100 / iw.quality_max * iw.quality); var p = iw.quality;
var q = is_assoc ? p : -1; var q = is_assoc ? p : -1;
var icon; var icon;
@ -47,10 +47,10 @@
'<strong><%:Bit Rate%>:</strong> %.1f MBit/s | ' + '<strong><%:Bit Rate%>:</strong> %.1f MBit/s | ' +
'<strong><%:Country%>:</strong> %s', '<strong><%:Country%>:</strong> %s',
iw.mode, iw.ssid, iw.bssid, iw.mode, iw.ssid, iw.bssid,
iw.encryption ? iw.encryption.description : '<%:None%>', iw.encryption ? iw.encryption : '<%:None%>',
iw.channel, iw.frequency ? (iw.frequency / 1000) : 0, iw.channel, iw.frequency ? iw.frequency : 0,
iw.txpower, iw.signal, iw.noise, iw.txpower, iw.signal, iw.noise,
iw.bitrate ? (iw.bitrate / 1000) : 0, iw.country iw.bitrate ? iw.bitrate : 0, iw.country
); );
else if (d) else if (d)
d.innerHTML = String.format( d.innerHTML = String.format(