modules/admin-full: support deleting wireless networks and fix wireless join
This commit is contained in:
parent
2a1f1a1d7b
commit
91856a9242
1 changed files with 20 additions and 3 deletions
|
@ -47,6 +47,10 @@ function index()
|
||||||
page.i18n = "wifi"
|
page.i18n = "wifi"
|
||||||
page.leaf = true
|
page.leaf = true
|
||||||
|
|
||||||
|
local page = entry({"admin", "network", "wireless_delete"}, call("wifi_delete"), nil, 16)
|
||||||
|
page.i18n = "wifi"
|
||||||
|
page.leaf = true
|
||||||
|
|
||||||
local page = entry({"admin", "network", "network"}, arcombine(cbi("admin_network/network"), cbi("admin_network/ifaces")), i18n("interfaces", "Schnittstellen"), 10)
|
local page = entry({"admin", "network", "network"}, arcombine(cbi("admin_network/network"), cbi("admin_network/ifaces")), i18n("interfaces", "Schnittstellen"), 10)
|
||||||
page.leaf = true
|
page.leaf = true
|
||||||
page.subindex = true
|
page.subindex = true
|
||||||
|
@ -130,12 +134,14 @@ function wifi_join()
|
||||||
ssid = ssid
|
ssid = ssid
|
||||||
}
|
}
|
||||||
|
|
||||||
if attach_intf and uci:get("network", attach_intf, "ifname") then
|
if attach_intf and uci:get("network", attach_intf) == "interface" then
|
||||||
-- target network already has a interface, make it a bridge
|
-- target network already has a interface, make it a bridge
|
||||||
uci:set("network", attach_intf, "type", "bridge")
|
uci:set("network", attach_intf, "type", "bridge")
|
||||||
uci:save("network")
|
uci:save("network")
|
||||||
uci:commit("network")
|
uci:commit("network")
|
||||||
|
|
||||||
|
wificonf.network = attach_intf
|
||||||
|
|
||||||
if autoconnect then
|
if autoconnect then
|
||||||
require "luci.sys".call("/sbin/ifup " .. attach_intf)
|
require "luci.sys".call("/sbin/ifup " .. attach_intf)
|
||||||
end
|
end
|
||||||
|
@ -153,7 +159,7 @@ function wifi_join()
|
||||||
wificonf.key = param("key")
|
wificonf.key = param("key")
|
||||||
end
|
end
|
||||||
|
|
||||||
uci:section("wireless", "wifi-iface", nil, wificonf)
|
local s = uci:section("wireless", "wifi-iface", nil, wificonf)
|
||||||
uci:delete("wireless", dev, "disabled")
|
uci:delete("wireless", dev, "disabled")
|
||||||
uci:set("wireless", dev, "channel", channel)
|
uci:set("wireless", dev, "channel", channel)
|
||||||
|
|
||||||
|
@ -164,7 +170,7 @@ function wifi_join()
|
||||||
require "luci.sys".call("/sbin/wifi")
|
require "luci.sys".call("/sbin/wifi")
|
||||||
end
|
end
|
||||||
|
|
||||||
luci.http.redirect(luci.dispatcher.build_url("admin/network/wireless", dev))
|
luci.http.redirect(luci.dispatcher.build_url("admin/network/wireless"))
|
||||||
elseif cancel then
|
elseif cancel then
|
||||||
luci.http.redirect(luci.dispatcher.build_url("admin/network/wireless_join?device=" .. dev))
|
luci.http.redirect(luci.dispatcher.build_url("admin/network/wireless_join?device=" .. dev))
|
||||||
else
|
else
|
||||||
|
@ -174,3 +180,14 @@ function wifi_join()
|
||||||
luci.template.render("admin_network/wifi_join")
|
luci.template.render("admin_network/wifi_join")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function wifi_delete(network)
|
||||||
|
local uci = require "luci.model.uci".cursor()
|
||||||
|
local wlm = require "luci.model.wireless"
|
||||||
|
|
||||||
|
wlm.init(uci)
|
||||||
|
wlm:del_network(network)
|
||||||
|
|
||||||
|
uci:save("wireless")
|
||||||
|
luci.http.redirect(luci.dispatcher.build_url("admin/network/wireless"))
|
||||||
|
end
|
||||||
|
|
Loading…
Reference in a new issue