From 8003e3b6482e770483499debdb916d1c08d4d7e5 Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Thu, 28 Aug 2008 21:30:49 +0000 Subject: [PATCH] libs/cbi: Make sure options in ListValues are unique --- libs/cbi/luasrc/cbi.lua | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/libs/cbi/luasrc/cbi.lua b/libs/cbi/luasrc/cbi.lua index 543c895af..2585e5459 100644 --- a/libs/cbi/luasrc/cbi.lua +++ b/libs/cbi/luasrc/cbi.lua @@ -1065,7 +1065,8 @@ function ListValue.__init__(self, ...) end for k, v in pairs(vs.values) do 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 table.insert(deps, _uvl_strip_remote_dependencies(dep)) end @@ -1077,6 +1078,10 @@ function ListValue.__init__(self, ...) end function ListValue.value(self, key, val, ...) + if luci.util.contains(self.keylist, key) then + return + end + val = val or key table.insert(self.keylist, tostring(key)) table.insert(self.vallist, tostring(val)) @@ -1123,6 +1128,10 @@ function MultiValue.render(self, ...) end function MultiValue.value(self, key, val) + if luci.util.contains(self.keylist, key) then + return + end + val = val or key table.insert(self.keylist, tostring(key)) table.insert(self.vallist, tostring(val)) -- 2.11.0