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.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)
|
||||
page.leaf = true
|
||||
page.subindex = true
|
||||
|
@ -130,12 +134,14 @@ function wifi_join()
|
|||
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
|
||||
uci:set("network", attach_intf, "type", "bridge")
|
||||
uci:save("network")
|
||||
uci:commit("network")
|
||||
|
||||
wificonf.network = attach_intf
|
||||
|
||||
if autoconnect then
|
||||
require "luci.sys".call("/sbin/ifup " .. attach_intf)
|
||||
end
|
||||
|
@ -153,7 +159,7 @@ function wifi_join()
|
|||
wificonf.key = param("key")
|
||||
end
|
||||
|
||||
uci:section("wireless", "wifi-iface", nil, wificonf)
|
||||
local s = uci:section("wireless", "wifi-iface", nil, wificonf)
|
||||
uci:delete("wireless", dev, "disabled")
|
||||
uci:set("wireless", dev, "channel", channel)
|
||||
|
||||
|
@ -164,7 +170,7 @@ function wifi_join()
|
|||
require "luci.sys".call("/sbin/wifi")
|
||||
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
|
||||
luci.http.redirect(luci.dispatcher.build_url("admin/network/wireless_join?device=" .. dev))
|
||||
else
|
||||
|
@ -174,3 +180,14 @@ function wifi_join()
|
|||
luci.template.render("admin_network/wifi_join")
|
||||
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