From: Steven Barth Date: Sun, 14 Sep 2008 21:58:55 +0000 (+0000) Subject: libs/cbi: Fix option initialisation errors X-Git-Tag: 0.9.0~1306 X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fluci.git;a=commitdiff_plain;h=d0442f8aab131cb53deaed1da81e09001cc33a82 libs/cbi: Fix option initialisation errors --- diff --git a/libs/cbi/luasrc/cbi.lua b/libs/cbi/luasrc/cbi.lua index 9e82ce9ce..6432a2590 100644 --- a/libs/cbi/luasrc/cbi.lua +++ b/libs/cbi/luasrc/cbi.lua @@ -872,10 +872,10 @@ function AbstractValue.__init__(self, map, section, option, ...) self.tag_reqerror = {} self.tag_error = {} self.deps = {} - self.cast = "string" + --self.cast = "string" self.track_missing = false - self.rmempty = false + --self.rmempty = false self.default = nil self.size = nil self.optional = false @@ -886,11 +886,17 @@ function AbstractValue.prepare(self) if not self.override_scheme and self.map:get_scheme(self.section.sectiontype, self.option) then local vs = self.map:get_scheme(self.section.sectiontype, self.option) - self.rmempty = not vs.required - self.cast = (vs.type == "list") and "list" or "string" + if self.rmempty == nil then + self.rmempty = not vs.required + end + if self.cast == nil then + self.cast = (vs.type == "list") and "list" or "string" + end self.title = self.title or vs.title self.description = self.description or vs.descr - self.default = vs.default + if self.default == nil then + self.default = vs.default + end if vs.depends and not self.override_dependencies then for i, deps in ipairs(vs.depends) do @@ -901,6 +907,8 @@ function AbstractValue.prepare(self) end end end + + self.cast = self.cast or "string" end -- Add a dependencie to another section field