libs/cbi: Make sure options in ListValues are unique
This commit is contained in:
parent
3dea61aaa3
commit
8003e3b648
1 changed files with 10 additions and 1 deletions
|
@ -1065,7 +1065,8 @@ function ListValue.__init__(self, ...)
|
||||||
end
|
end
|
||||||
for k, v in pairs(vs.values) do
|
for k, v in pairs(vs.values) do
|
||||||
local deps = {}
|
local deps = {}
|
||||||
if vs.enum_depends and vs.enum_depends[k] then
|
if not self.override_dependencies
|
||||||
|
and vs.enum_depends and vs.enum_depends[k] then
|
||||||
for i, dep in ipairs(vs.enum_depends[k]) do
|
for i, dep in ipairs(vs.enum_depends[k]) do
|
||||||
table.insert(deps, _uvl_strip_remote_dependencies(dep))
|
table.insert(deps, _uvl_strip_remote_dependencies(dep))
|
||||||
end
|
end
|
||||||
|
@ -1077,6 +1078,10 @@ function ListValue.__init__(self, ...)
|
||||||
end
|
end
|
||||||
|
|
||||||
function ListValue.value(self, key, val, ...)
|
function ListValue.value(self, key, val, ...)
|
||||||
|
if luci.util.contains(self.keylist, key) then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
val = val or key
|
val = val or key
|
||||||
table.insert(self.keylist, tostring(key))
|
table.insert(self.keylist, tostring(key))
|
||||||
table.insert(self.vallist, tostring(val))
|
table.insert(self.vallist, tostring(val))
|
||||||
|
@ -1123,6 +1128,10 @@ function MultiValue.render(self, ...)
|
||||||
end
|
end
|
||||||
|
|
||||||
function MultiValue.value(self, key, val)
|
function MultiValue.value(self, key, val)
|
||||||
|
if luci.util.contains(self.keylist, key) then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
val = val or key
|
val = val or key
|
||||||
table.insert(self.keylist, tostring(key))
|
table.insert(self.keylist, tostring(key))
|
||||||
table.insert(self.vallist, tostring(val))
|
table.insert(self.vallist, tostring(val))
|
||||||
|
|
Loading…
Reference in a new issue