luci-base: fix initialization of MultiValue options
authorJo-Philipp Wich <jow@openwrt.org>
Sat, 23 Jan 2016 16:34:37 +0000 (17:34 +0100)
committerJo-Philipp Wich <jow@openwrt.org>
Sat, 23 Jan 2016 16:34:53 +0000 (17:34 +0100)
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
modules/luci-base/luasrc/cbi.lua

index 4dc1f2a..2184395 100644 (file)
@@ -1623,16 +1623,16 @@ function ListValue.__init__(self, ...)
        AbstractValue.__init__(self, ...)
        self.template  = "cbi/lvalue"
 
        AbstractValue.__init__(self, ...)
        self.template  = "cbi/lvalue"
 
-       self.keylist = {}
-       self.vallist = {}
-       self.deplist = {}
        self.size   = 1
        self.widget = "select"
        self.size   = 1
        self.widget = "select"
+
+       self:reset_values()
 end
 
 function ListValue.reset_values(self)
        self.keylist = {}
        self.vallist = {}
 end
 
 function ListValue.reset_values(self)
        self.keylist = {}
        self.vallist = {}
+       self.deplist = {}
 end
 
 function ListValue.value(self, key, val, ...)
 end
 
 function ListValue.value(self, key, val, ...)
@@ -1667,11 +1667,10 @@ function MultiValue.__init__(self, ...)
        AbstractValue.__init__(self, ...)
        self.template = "cbi/mvalue"
 
        AbstractValue.__init__(self, ...)
        self.template = "cbi/mvalue"
 
-       self.keylist = {}
-       self.vallist = {}
-
        self.widget = "checkbox"
        self.delimiter = " "
        self.widget = "checkbox"
        self.delimiter = " "
+
+       self:reset_values()
 end
 
 function MultiValue.render(self, ...)
 end
 
 function MultiValue.render(self, ...)
@@ -1685,6 +1684,7 @@ end
 function MultiValue.reset_values(self)
        self.keylist = {}
        self.vallist = {}
 function MultiValue.reset_values(self)
        self.keylist = {}
        self.vallist = {}
+       self.deplist = {}
 end
 
 function MultiValue.value(self, key, val)
 end
 
 function MultiValue.value(self, key, val)
@@ -1759,8 +1759,7 @@ function DynamicList.__init__(self, ...)
        AbstractValue.__init__(self, ...)
        self.template  = "cbi/dynlist"
        self.cast = "table"
        AbstractValue.__init__(self, ...)
        self.template  = "cbi/dynlist"
        self.cast = "table"
-       self.keylist = {}
-       self.vallist = {}
+       self:reset_values()
 end
 
 function DynamicList.reset_values(self)
 end
 
 function DynamicList.reset_values(self)