diff options
author | Steven Barth <steven@midlink.org> | 2008-09-14 21:58:55 +0000 |
---|---|---|
committer | Steven Barth <steven@midlink.org> | 2008-09-14 21:58:55 +0000 |
commit | d0442f8aab131cb53deaed1da81e09001cc33a82 (patch) | |
tree | e71a64d70f3f14b912f2986c017ddee583ec2237 /libs/cbi/luasrc/cbi.lua | |
parent | 1bd4697acd27b24b11fcaf3d9566226cb7154487 (diff) |
libs/cbi: Fix option initialisation errors
Diffstat (limited to 'libs/cbi/luasrc/cbi.lua')
-rw-r--r-- | libs/cbi/luasrc/cbi.lua | 18 |
1 files changed, 13 insertions, 5 deletions
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 |