diff options
Diffstat (limited to 'modules/admin-full/luasrc/controller/admin')
-rw-r--r-- | modules/admin-full/luasrc/controller/admin/network.lua | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/modules/admin-full/luasrc/controller/admin/network.lua b/modules/admin-full/luasrc/controller/admin/network.lua index 28ee82e65..bb880685a 100644 --- a/modules/admin-full/luasrc/controller/admin/network.lua +++ b/modules/admin-full/luasrc/controller/admin/network.lua @@ -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 |