From f3deef9ec570d49795346516d34c1b42fb416fde Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Fri, 3 Apr 2009 18:08:25 +0000 Subject: Backport Skip-Button support --- libs/cbi/luasrc/cbi.lua | 14 +++++++++++++- libs/cbi/luasrc/view/cbi/footer.htm | 3 +++ libs/cbi/luasrc/view/cbi/simpleform.htm | 3 +++ 3 files changed, 19 insertions(+), 1 deletion(-) (limited to 'libs/cbi') diff --git a/libs/cbi/luasrc/cbi.lua b/libs/cbi/luasrc/cbi.lua index e7ad55047..ebca729bb 100644 --- a/libs/cbi/luasrc/cbi.lua +++ b/libs/cbi/luasrc/cbi.lua @@ -42,6 +42,7 @@ FORM_PROCEED = 0 FORM_VALID = 1 FORM_INVALID = -1 FORM_CHANGED = 2 +FORM_SKIP = 4 AUTO = true @@ -344,13 +345,19 @@ end -- Use optimized UCI writing function Map.parse(self, readinput, ...) self.readinput = (readinput ~= false) + + if self:formvalue("cbi.skip") then + self.state = FORM_SKIP + return self:state_handler(self.state) + end + Node.parse(self, ...) if self.save then for i, config in ipairs(self.parsechain) do self.uci:save(config) end - if self:submitstate() and not self.proceed and (self.autoapply or luci.http.formvalue("cbi.apply")) then + if self:submitstate() and not self.proceed and (self.flow.autoapply or luci.http.formvalue("cbi.apply")) then for i, config in ipairs(self.parsechain) do self.uci:commit(config) @@ -561,6 +568,11 @@ SimpleForm.formvaluetable = Map.formvaluetable function SimpleForm.parse(self, readinput, ...) self.readinput = (readinput ~= false) + + if self:formvalue("cbi.skip") then + return FORM_SKIP + end + if self:submitstate() then Node.parse(self, 1, ...) end diff --git a/libs/cbi/luasrc/view/cbi/footer.htm b/libs/cbi/luasrc/view/cbi/footer.htm index 4f94a05b0..b6e893d1a 100644 --- a/libs/cbi/luasrc/view/cbi/footer.htm +++ b/libs/cbi/luasrc/view/cbi/footer.htm @@ -14,6 +14,9 @@ $Id$ -%> <%- if pageaction then -%>
+ <% if flow.skip then %> + + <% end %> <% if not autoapply then%> <% end %> diff --git a/libs/cbi/luasrc/view/cbi/simpleform.htm b/libs/cbi/luasrc/view/cbi/simpleform.htm index e167a6e6d..9a23e53a8 100644 --- a/libs/cbi/luasrc/view/cbi/simpleform.htm +++ b/libs/cbi/luasrc/view/cbi/simpleform.htm @@ -33,6 +33,9 @@ $Id$ <%- end %> <% if not self.embedded then %>
+<%- if self.flow.skip then %> + +<% end %> <%- if self.submit ~= false then %>