gluon-web-wifi-config: set state of OWE VAP
This commit is contained in:
parent
6692095f9d
commit
9720be5112
@ -61,21 +61,45 @@ uci:foreach('wireless', 'wifi-device', function(config)
|
|||||||
|
|
||||||
local p = f:section(Section, title)
|
local p = f:section(Section, title)
|
||||||
|
|
||||||
local function vif_option(t, msg)
|
local function filter_existing_interfaces(interfaces)
|
||||||
if not uci:get('wireless', t .. '_' .. radio) then
|
local out = {}
|
||||||
|
for _, interface in ipairs(interfaces) do
|
||||||
|
if uci:get('wireless', interface .. '_' .. radio) then
|
||||||
|
table.insert(out, interface)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return out
|
||||||
|
end
|
||||||
|
|
||||||
|
local function filter_active_interfaces(interfaces)
|
||||||
|
local out = false
|
||||||
|
for _, interface in ipairs(interfaces) do
|
||||||
|
if not uci:get_bool('wireless', interface .. '_' .. radio, 'disabled') then
|
||||||
|
out = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return out
|
||||||
|
end
|
||||||
|
|
||||||
|
local function vif_option(name, interfaces, msg)
|
||||||
|
local existing_interfaces = filter_existing_interfaces(interfaces)
|
||||||
|
|
||||||
|
if #existing_interfaces == 0 then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
local o = p:option(Flag, radio .. '_' .. t .. '_enabled', msg)
|
local o = p:option(Flag, radio .. '_' .. name .. '_enabled', msg)
|
||||||
o.default = not uci:get_bool('wireless', t .. '_' .. radio, 'disabled')
|
o.default = filter_active_interfaces(existing_interfaces)
|
||||||
|
|
||||||
function o:write(data)
|
function o:write(data)
|
||||||
uci:set('wireless', t .. '_' .. radio, 'disabled', not data)
|
for _, interface in ipairs(existing_interfaces) do
|
||||||
|
uci:set('wireless', interface .. '_' .. radio, 'disabled', not data)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
vif_option('client', translate('Enable client network (access point)'))
|
vif_option('client', {'client', 'owe'}, translate('Enable client network (access point)'))
|
||||||
vif_option('mesh', translate("Enable mesh network (802.11s)"))
|
vif_option('mesh', {'mesh'}, translate("Enable mesh network (802.11s)"))
|
||||||
|
|
||||||
local phy = util.find_phy(config)
|
local phy = util.find_phy(config)
|
||||||
if not phy then
|
if not phy then
|
||||||
|
Loading…
Reference in New Issue
Block a user