diff options
author | Steven Barth <steven@midlink.org> | 2008-08-17 10:20:36 +0000 |
---|---|---|
committer | Steven Barth <steven@midlink.org> | 2008-08-17 10:20:36 +0000 |
commit | 75d4cca7ae10a39d9787afd5f1c2f14800491acd (patch) | |
tree | d78aa1fec1690510ed723f6c8433f71fda709e28 /libs/cbi | |
parent | 746fa9df8f3d3443d82cd26d6717e7b5cf3dc8c1 (diff) |
Fixed a design flaw in luci.model.uci
Diffstat (limited to 'libs/cbi')
-rw-r--r-- | libs/cbi/luasrc/cbi.lua | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/libs/cbi/luasrc/cbi.lua b/libs/cbi/luasrc/cbi.lua index bf4bfb80c3..fed53f6ee8 100644 --- a/libs/cbi/luasrc/cbi.lua +++ b/libs/cbi/luasrc/cbi.lua @@ -157,7 +157,7 @@ function Map.__init__(self, config, ...) self.config = config self.parsechain = {self.config} self.template = "cbi/map" - if not uci.load(self.config) then + if not uci.load_config(self.config) then error("Unable to read UCI data: " .. self.config) end end @@ -170,9 +170,16 @@ end -- Use optimized UCI writing function Map.parse(self, ...) + if self.stateful then + uci.load_state(self.config) + else + uci.load_config(self.config) + end + Node.parse(self, ...) + for i, config in ipairs(self.parsechain) do - uci.save(config) + uci.save_config(config) end if luci.http.formvalue("cbi.apply") then for i, config in ipairs(self.parsechain) do @@ -182,8 +189,7 @@ function Map.parse(self, ...) end -- Refresh data because commit changes section names - uci.unload(config) - uci.load(config) + uci.load_config(config) end -- Reparse sections @@ -240,11 +246,6 @@ function Map.get(self, section, option) end end --- UCI stateget -function Map.stateget(self, section, option) - return uci.get_statevalue(self.config, section, option) -end - --[[ Page - A simple node @@ -705,7 +706,6 @@ function AbstractValue.__init__(self, map, option, ...) self.default = nil self.size = nil self.optional = false - self.stateful = false end -- Add a dependencie to another section field @@ -789,9 +789,7 @@ end -- Return the UCI value of this object function AbstractValue.cfgvalue(self, section) - return self.stateful - and self.map:stateget(section, self.option) - or self.map:get(section, self.option) + return self.map:get(section, self.option) end -- Validate the form value |