From 1f83b916ac83eff03e582084dd99579689570360 Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Mon, 23 Nov 2009 19:36:37 +0000 Subject: [PATCH 1/1] NIU: Minor fixes --- libs/cbi/luasrc/cbi.lua | 2 +- modules/niu/luasrc/model/cbi/niu/network/wan.lua | 4 ++ modules/niu/luasrc/model/cbi/niu/wireless/ap1.lua | 60 +++++++++++++--------- .../niu/luasrc/model/cbi/niu/wireless/apdevice.lua | 11 ++-- 4 files changed, 48 insertions(+), 29 deletions(-) diff --git a/libs/cbi/luasrc/cbi.lua b/libs/cbi/luasrc/cbi.lua index c318e64b8..c9db8beb2 100644 --- a/libs/cbi/luasrc/cbi.lua +++ b/libs/cbi/luasrc/cbi.lua @@ -561,7 +561,7 @@ function Delegator.get(self, name) local node = self.nodes[name] if type(node) == "string" then - node = load(node) + node = load(node, name) end if type(node) == "table" and getmetatable(node) == nil then diff --git a/modules/niu/luasrc/model/cbi/niu/network/wan.lua b/modules/niu/luasrc/model/cbi/niu/network/wan.lua index cb97cc1aa..a69b1ba0e 100644 --- a/modules/niu/luasrc/model/cbi/niu/network/wan.lua +++ b/modules/niu/luasrc/model/cbi/niu/network/wan.lua @@ -46,6 +46,10 @@ local function deviceroute(self) if cursor:get("wireless", "client", "device") ~= widev then cursor:delete("wireless", "client", "network") cursor:set("wireless", "client", "device", widev) + cursor:delete_all("wireless", "wifi-iface", function(s) + return s.device == widev and s._niu ~= "1" + end) + cursor:set("wireless", widev, "disabled", 0) end self:set_route("wlanwan1", "wlanwan2") else diff --git a/modules/niu/luasrc/model/cbi/niu/wireless/ap1.lua b/modules/niu/luasrc/model/cbi/niu/wireless/ap1.lua index c1341db01..ccca18c50 100644 --- a/modules/niu/luasrc/model/cbi/niu/wireless/ap1.lua +++ b/modules/niu/luasrc/model/cbi/niu/wireless/ap1.lua @@ -13,13 +13,17 @@ You may obtain a copy of the License at $Id$ ]]-- +local iface = "ap" +local ap = true + + local fs = require "nixio.fs" local sys = require "luci.sys" local cursor = require "luci.model.uci".inst local state = require "luci.model.uci".inst_state cursor:unload("wireless") -local device = cursor:get("wireless", "ap", "device") +local device = cursor:get("wireless", iface, "device") local hwtype = cursor:get("wireless", device, "type") local nsantenna = cursor:get("wireless", device, "antenna") @@ -36,11 +40,13 @@ state:foreach("wireless", "wifi-iface", tx_powers = iw.txpwrlist or { } end end) + +local m -m = Map("wireless", "Configure Access Point", -"The private Access Point is about to be created. You only need to provide ".. -"a network name and a password to finish this step and - if you like - tweak ".. -"some of the advanced settings.") + +if ap then +m = Map("wireless", translate("Configure Access Point")) +end --- Device Settings --- s = m:section(NamedSection, device, "wifi-device", "Device Configuration") @@ -163,7 +169,7 @@ end -s = m:section(NamedSection, "ap", "wifi-iface", "Access Point Details") +s = m:section(NamedSection, iface, "wifi-iface", translate("Interface Details")) s.addremove = false s:tab("general", translate("General Settings")) @@ -191,28 +197,34 @@ elseif hwtype == "atheros" then ml = s:taboption("expert", DynamicList, "maclist", translate("MAC-List")) ml:depends({macpolicy="allow"}) ml:depends({macpolicy="deny"}) - + s:taboption("expert", Flag, "wds", "Allow Bridging and Repeating (WDS)") - hidden = s:taboption("expert", Flag, "hidden", translate("Hide Access Point")) - hidden:depends({mode="ap"}) - hidden:depends({mode="ap-wds"}) - - isolate = s:taboption("expert", Flag, "isolate", translate("Prevent communication between clients")) - isolate:depends({mode="ap"}) + if ap then + hidden = s:taboption("expert", Flag, "hidden", translate("Hide Access Point")) + hidden:depends({mode="ap"}) + hidden:depends({mode="ap-wds"}) + + isolate = s:taboption("expert", Flag, "isolate", translate("Prevent communication between clients")) + isolate:depends({mode="ap"}) + end s:taboption("expert", Flag, "bursting", translate("Allow Burst Transmissions")) elseif hwtype == "broadcom" then - mode:value("wds", translate("WDS")) + if ap then + mode:value("wds", translate("WDS")) - hidden = s:taboption("expert", Flag, "hidden", translate("Hide Access Point")) - hidden:depends({mode="ap"}) - hidden:depends({mode="wds"}) + hidden = s:taboption("expert", Flag, "hidden", translate("Hide Access Point")) + hidden:depends({mode="ap"}) + hidden:depends({mode="wds"}) - isolate = s:taboption("expert", Flag, "isolate", translate("Prevent communication between clients")) - isolate:depends({mode="ap"}) + isolate = s:taboption("expert", Flag, "isolate", translate("Prevent communication between clients")) + isolate:depends({mode="ap"}) + end elseif hwtype == "prism2" then - mode:value("wds", translate("WDS")) + if ap then + mode:value("wds", translate("WDS")) + end mp = s:taboption("expert", ListValue, "macpolicy", translate("MAC-Address Filter")) mp:value("", translate("disable")) @@ -223,9 +235,11 @@ elseif hwtype == "prism2" then ml:depends({macpolicy="allow"}) ml:depends({macpolicy="deny"}) - hidden = s:taboption("expert", Flag, "hidden", translate("Hide Access Point")) - hidden:depends({mode="ap"}) - hidden:depends({mode="wds"}) + if ap then + hidden = s:taboption("expert", Flag, "hidden", translate("Hide Access Point")) + hidden:depends({mode="ap"}) + hidden:depends({mode="wds"}) + end end -- Encryption -- diff --git a/modules/niu/luasrc/model/cbi/niu/wireless/apdevice.lua b/modules/niu/luasrc/model/cbi/niu/wireless/apdevice.lua index b9e0fa517..98f5fc5d6 100644 --- a/modules/niu/luasrc/model/cbi/niu/wireless/apdevice.lua +++ b/modules/niu/luasrc/model/cbi/niu/wireless/apdevice.lua @@ -14,11 +14,12 @@ $Id$ local niulib = require "luci.niulib" m = Map("wireless", "Configure Private Access Point") -s = m:section(NamedSection, "ap", "interface", "Wireless Radio Device", -"Select the wireless radio device that should be used to run the access".. -" point. Note that wireless radios will not show up here if you already use".. -" them for connecting to the Internet and are not capable of being used as".. -" an access point in parallel.") +s = m:section(NamedSection, "ap", "interface", translate("Wireless Radio Device"), +translate( +"Select the wireless radio device that should be used to run the interface.".. +" Note that wireless radios will not show up here if you already use".. +" them for other wireless services and are not capable of being used as".. +" an access point in parallel.")) s.anonymous = true s.addremove = false -- 2.11.0