summaryrefslogtreecommitdiffhomepage
path: root/libs/cbi
diff options
context:
space:
mode:
authorSteven Barth <steven@midlink.org>2009-10-28 17:38:11 +0000
committerSteven Barth <steven@midlink.org>2009-10-28 17:38:11 +0000
commite93a3e0c749960deefdde6fb3d0e1a1ee3696b89 (patch)
tree7cf60b46ae09816ab3f969cd98354d640d04091b /libs/cbi
parent1e9b205464d0611db5fe7e036c3628ebe484c803 (diff)
CBI: Delegators: Don't proceed when step is not completed yet
Diffstat (limited to 'libs/cbi')
-rw-r--r--libs/cbi/luasrc/cbi.lua5
1 files changed, 3 insertions, 2 deletions
diff --git a/libs/cbi/luasrc/cbi.lua b/libs/cbi/luasrc/cbi.lua
index 2c8cb53e45..7c20129be8 100644
--- a/libs/cbi/luasrc/cbi.lua
+++ b/libs/cbi/luasrc/cbi.lua
@@ -614,11 +614,12 @@ function Delegator.parse(self, ...)
if not Map.formvalue(self, "cbi.submit") then
return FORM_NODATA
- elseif not newcurrent or not self:get(newcurrent) then
+ elseif stat > FORM_PROCEED
+ and (not newcurrent or not self:get(newcurrent)) then
self:_run_hooks("on_done")
return FORM_DONE
else
- self.current = newcurrent
+ self.current = newcurrent or self.current
self.active = self:get(self.current)
if type(self.active) ~= "function" then
self.active:parse(false)