From: Jo-Philipp Wich Date: Thu, 29 Oct 2009 02:23:58 +0000 (+0000) Subject: modules/admin-full: support deleting wireless networks and fix wireless join X-Git-Tag: 0.10.0~1048 X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fluci.git;a=commitdiff_plain;h=91856a9242125388336d88140c840938704e9053;hp=2a1f1a1d7beacb1cc69c3259139c2ca2ca750c92 modules/admin-full: support deleting wireless networks and fix wireless join --- 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