modules/admin-full: use luci.tools.status for remaining wifi status displays
authorJo-Philipp Wich <jow@openwrt.org>
Sun, 13 Mar 2011 17:25:54 +0000 (17:25 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Sun, 13 Mar 2011 17:25:54 +0000 (17:25 +0000)
modules/admin-full/luasrc/controller/admin/network.lua
modules/admin-full/luasrc/view/admin_network/wifi_overview.htm
modules/admin-full/luasrc/view/admin_network/wifi_status.htm

index f7c94f2..badb696 100644 (file)
@@ -2,6 +2,7 @@
 LuCI - Lua Configuration Interface
 
 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");
 you may not use this file except in compliance with the License.
@@ -326,30 +327,13 @@ function iface_delete()
 end
 
 function wifi_status()
-       local netm  = require "luci.model.network".init()
        local path = luci.dispatcher.context.requestpath
+       local s    = require "luci.tools.status"
        local rv   = { }
 
        local dev
        for dev in path[#path]:gmatch("[%w%.%-]+") do
-               local j = { id = 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
+               rv[#rv+1] = s.wifi_network(dev)
        end
 
        if #rv > 0 then
index aa27e42..1bf08cc 100644 (file)
@@ -1,7 +1,7 @@
 <%#
 LuCI - Lua Configuration Interface
 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");
 you may not use this file except in compliance with the License.
@@ -102,8 +102,8 @@ $Id$
        for _, dev in ipairs(devices) do
                local net
                for _, net in ipairs(dev:get_wifinets()) do
-                       netlist[#netlist+1] = net:ifname()
-                       netdevs[net:ifname()] = dev:name()
+                       netlist[#netlist+1] = net:id()
+                       netdevs[net:id()] = dev:name()
                end
        end
 -%>
@@ -139,8 +139,8 @@ $Id$
                                        for( var i = 0; i < st.length; i++ )
                                        {
                                                var iw = st[i];
-                                               var is_assoc = (iw.bssid && iw.channel);
-                                               var p = (100 / iw.quality_max * iw.quality);
+                                               var is_assoc = (iw.bssid && iw.bssid != '00:00:00:00:00:00' && iw.channel);
+                                               var p = iw.quality;
                                                var q = is_assoc ? p : -1;
 
                                                var icon;
@@ -177,7 +177,7 @@ $Id$
                                                                        '<strong><%:BSSID%>:</strong> %s | ' +
                                                                        '<strong><%:Encryption%>:</strong> %s',
                                                                                iw.ssid, iw.mode, iw.bssid,
-                                                                               iw.encryption ? iw.encryption.description : '<%:None%>'
+                                                                               iw.encryption ? iw.encryption : '<%:None%>'
                                                                );
                                                        else
                                                                info.innerHTML = String.format(
@@ -196,8 +196,8 @@ $Id$
                                                                        '<strong><%:Channel%>:</strong> %s (%s GHz) | ' +
                                                                        '<strong><%:Bitrate%>:</strong> %s Mb/s',
                                                                                iw.channel ? iw.channel : '?',
-                                                                               iw.frequency ? iw.frequency / 1000 : '?',
-                                                                               iw.bitrate ? iw.bitrate / 1000 : '?'
+                                                                               iw.frequency ? iw.frequency : '?',
+                                                                               iw.bitrate ? iw.bitrate : '?'
                                                                );
                                                        else
                                                                dev.innerHTML = '';
@@ -302,11 +302,11 @@ $Id$
                                <% for i, net in ipairs(nets) do %>
                                <tr class="cbi-section-table-row cbi-rowstyle-<%=1 + ((i-1) % 2)%>">
                                        <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 />
                                                <small>0%</small>
                                        </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>
                                        </td>
                                        <td class="cbi-value-field" style="width:40px">
index ba99acf..475b88a 100644 (file)
@@ -8,8 +8,8 @@
                        {
                                if (iw && (iw = iw[0]))
                                {
-                                       var is_assoc = (iw.bssid && iw.channel);
-                                       var p = (100 / iw.quality_max * iw.quality);
+                                       var is_assoc = (iw.bssid && iw.bssid != '00:00:00:00:00:00' && iw.channel);
+                                       var p = iw.quality;
                                        var q = is_assoc ? p : -1;
 
                                        var icon;
                                                        '<strong><%:Bit Rate%>:</strong> %.1f MBit/s | ' +
                                                        '<strong><%:Country%>:</strong> %s',
                                                                iw.mode, iw.ssid, iw.bssid,
-                                                               iw.encryption ? iw.encryption.description : '<%:None%>',
-                                                               iw.channel, iw.frequency ? (iw.frequency / 1000) : 0,
+                                                               iw.encryption ? iw.encryption : '<%:None%>',
+                                                               iw.channel, iw.frequency ? iw.frequency : 0,
                                                                iw.txpower, iw.signal, iw.noise,
-                                                               iw.bitrate ? (iw.bitrate / 1000) : 0, iw.country
+                                                               iw.bitrate ? iw.bitrate : 0, iw.country
                                                );
                                        else if (d)
                                                d.innerHTML = String.format(