modules/admin-full: (re-)implement adding of wireless networks
authorJo-Philipp Wich <jow@openwrt.org>
Fri, 25 Dec 2009 00:41:55 +0000 (00:41 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Fri, 25 Dec 2009 00:41:55 +0000 (00:41 +0000)
modules/admin-full/luasrc/controller/admin/network.lua

index 459b8311e231f38a98a85744edad0ea49e3e81cb..6155c28f1a7a123268bab92a5f1c6e0fc8c0bd20 100644 (file)
@@ -38,6 +38,9 @@ function index()
                local page = entry({"admin", "network", "wireless_join"}, call("wifi_join"), nil, 16)
                page.leaf = true
 
+               local page = entry({"admin", "network", "wireless_add"}, call("wifi_add"), nil, 16)
+               page.leaf = true
+
                local page = entry({"admin", "network", "wireless_delete"}, call("wifi_delete"), nil, 16)
                page.leaf = true
        end
@@ -113,6 +116,26 @@ function wifi_join()
        end
 end
 
+function wifi_add()
+       local dev = luci.http.formvalue("device") 
+       local uci = require "luci.model.uci".cursor()
+       local wlm = require "luci.model.wireless"
+
+       if dev then
+               wlm.init(uci)
+
+               local net = wlm:add_network({
+                       device     = dev,
+                       mode       = "ap",
+                       ssid       = "OpenWrt",
+                       encryption = "none"
+               })
+
+               uci:save("wireless")
+               luci.http.redirect(luci.dispatcher.build_url("admin/network/wireless", dev, net:name()))
+       end
+end
+
 function wifi_delete(network)
        local uci = require "luci.model.uci".cursor()
        local wlm = require "luci.model.wireless"