From: Jo-Philipp Wich Date: Sun, 7 Sep 2008 16:59:42 +0000 (+0000) Subject: * luci-0.8: backport fix for reparse bug in cbi which caused invalidation of sections X-Git-Tag: 0.8.0~104 X-Git-Url: http://git.archive.openwrt.org/?a=commitdiff_plain;h=3373bdfca63d835fff6fbd960d23a082677e34e8;p=project%2Fluci.git * luci-0.8: backport fix for reparse bug in cbi which caused invalidation of sections --- diff --git a/libs/cbi/luasrc/cbi.lua b/libs/cbi/luasrc/cbi.lua index c1eefca5d..a37e81e87 100644 --- a/libs/cbi/luasrc/cbi.lua +++ b/libs/cbi/luasrc/cbi.lua @@ -249,8 +249,8 @@ function Map.chain(self, config) end -- Use optimized UCI writing -function Map.parse(self, ...) - Node.parse(self, ...) +function Map.parse(self) + Node.parse(self) if self.save then for i, config in ipairs(self.parsechain) do @@ -273,7 +273,7 @@ function Map.parse(self, ...) end -- Reparse sections - Node.parse(self, ...) + Node.parse(self, true) end for i, config in ipairs(self.parsechain) do @@ -666,7 +666,7 @@ function NamedSection.__init__(self, map, section, stype, ...) self.section = section end -function NamedSection.parse(self) +function NamedSection.parse(self, novld) local s = self.section local active = self:cfgvalue(s) @@ -689,7 +689,7 @@ function NamedSection.parse(self) if luci.http.formvalue("cbi.submit") then Node.parse(self, s) - if not self.override_scheme and self.map.scheme then + if not novld and not self.override_scheme and self.map.scheme then _uvl_validate_section(self, s) end end @@ -743,7 +743,7 @@ function TypedSection.depends(self, option, value) table.insert(self.deps, {option=option, value=value}) end -function TypedSection.parse(self) +function TypedSection.parse(self, novld) if self.addremove then -- Remove local crval = REMOVE_PREFIX .. self.config @@ -764,7 +764,7 @@ function TypedSection.parse(self) if luci.http.formvalue("cbi.submit") then Node.parse(self, k) - if not self.override_scheme and self.map.scheme then + if not novld and not self.override_scheme and self.map.scheme then _uvl_validate_section(self, k) end end