Software /
code /
prosody-modules
Comparison
mod_adhoc_dataforms_demo/mod_adhoc_dataforms_demo.lua @ 4050:1eb2b9483081
mod_adhoc_dataforms_demo: Treat 'execute' action as 'next' except in first step
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Tue, 23 Jun 2020 19:54:06 +0200 |
parent | 4049:78f1de5301fc |
child | 4581:3e2e708fd18b |
comparison
equal
deleted
inserted
replaced
4049:78f1de5301fc | 4050:1eb2b9483081 |
---|---|
132 status = "completed", | 132 status = "completed", |
133 info = "State was:\n" | 133 info = "State was:\n" |
134 .. serialization.serialize(state, { fatal = false }), | 134 .. serialization.serialize(state, { fatal = false }), |
135 }; | 135 }; |
136 end | 136 end |
137 if state and data.action == "execute" then | |
138 data.action = "next"; | |
139 elseif not state and data.action == "next" then | |
140 -- Prevent jumping directly to step 2 | |
141 return { status = "canceled", error = "Invalid action" }; | |
142 end | |
137 state = state or { step = 1, forms = { } }; | 143 state = state or { step = 1, forms = { } }; |
138 | 144 |
139 if data.action == "next" then | 145 if data.action == "next" then |
140 state.step = state.step + 1; | 146 state.step = state.step + 1; |
141 elseif data.action == "prev" then | 147 elseif data.action == "prev" then |
161 end | 167 end |
162 | 168 |
163 local next_step = { | 169 local next_step = { |
164 status = "executing", | 170 status = "executing", |
165 form = current_form, | 171 form = current_form, |
172 default = "next", | |
166 actions = { | 173 actions = { |
167 "next", "complete" | 174 "next", "complete" |
168 }, | 175 }, |
169 }; | 176 }; |
170 if state.step > 1 then | 177 if state.step > 1 then |