libs/core: always use internal network ids for admin links to wifi networks (#172)

This commit is contained in:
Jo-Philipp Wich 2010-12-05 03:57:29 +00:00
parent ea294f0b64
commit 5dd3b57bbb

View file

@ -936,21 +936,22 @@ wifinet = utl.class()
function wifinet.__init__(self, net, data)
self.sid = net
local dev = uci_s:get("wireless", self.sid, "ifname")
if not dev then
local num = { }
uci_r:foreach("wireless", "wifi-iface",
function(s)
if s.device then
num[s.device] = num[s.device] and num[s.device] + 1 or 1
if s['.name'] == self.sid then
dev = "%s.network%d" %{ s.device, num[s.device] }
return false
end
local num = { }
local netid
uci_r:foreach("wireless", "wifi-iface",
function(s)
if s.device then
num[s.device] = num[s.device] and num[s.device] + 1 or 1
if s['.name'] == self.sid then
netid = "%s.network%d" %{ s.device, num[s.device] }
return false
end
end)
end
end
end)
local dev = uci_s:get("wireless", self.sid, "ifname") or netid
self.netid = netid
self.wdev = dev
self.iwinfo = dev and sys.wifi.getiwinfo(dev) or { }
self.iwdata = data or uci_s:get_all("wireless", self.sid) or
@ -1109,7 +1110,7 @@ end
function wifinet.adminlink(self)
return dsp.build_url("admin", "network", "wireless",
self.iwdata.device, self.wdev)
self.iwdata.device, self.netid)
end
function wifinet.get_network(self)