X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fluci.git;a=blobdiff_plain;f=modules%2Fadmin-full%2Fluasrc%2Fcontroller%2Fadmin%2Fnetwork.lua;h=fe60e7898a91d505cd810baf62eb088f66cd2c80;hp=459b8311e231f38a98a85744edad0ea49e3e81cb;hb=72e3b2c7e5766cad42b7e4cf9ab0b3e3f3c7328e;hpb=dcc617fc48f6198f933332472ec6b4b0a6823222 diff --git a/modules/admin-full/luasrc/controller/admin/network.lua b/modules/admin-full/luasrc/controller/admin/network.lua index 459b8311e..fe60e7898 100644 --- a/modules/admin-full/luasrc/controller/admin/network.lua +++ b/modules/admin-full/luasrc/controller/admin/network.lua @@ -18,6 +18,14 @@ function index() local uci = require("luci.model.uci").cursor() local i18n = luci.i18n.translate local has_wifi = nixio.fs.stat("/etc/config/wireless") + local has_switch = false + + uci:foreach("network", "switch", + function(s) + has_switch = true + return false + end + ) local page = node("admin", "network") page.target = alias("admin", "network", "network") @@ -25,10 +33,12 @@ function index() page.order = 50 page.index = true - local page = node("admin", "network", "vlan") - page.target = cbi("admin_network/vlan") - page.title = i18n("Switch") - page.order = 20 + if has_switch then + local page = node("admin", "network", "vlan") + page.target = cbi("admin_network/vlan") + page.title = i18n("Switch") + page.order = 20 + end if has_wifi and has_wifi.size > 0 then local page = entry({"admin", "network", "wireless"}, arcombine(template("admin_network/wifi_overview"), cbi("admin_network/wifi")), i18n("Wifi"), 15) @@ -38,6 +48,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 +126,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"