# HG changeset patch # User Florian Zeitz # Date 1334270340 -7200 # Node ID 52b6901cabb0d49c17578b8ec329761a6b4522fb # Parent fc5d3b0534546dfb9d0c51b45bc5b6a472545c95 mod_adhoc: Always allow at least the "complete" action diff -r fc5d3b053454 -r 52b6901cabb0 plugins/adhoc/adhoc.lib.lua --- a/plugins/adhoc/adhoc.lib.lua Sun Apr 08 04:09:33 2012 +0500 +++ b/plugins/adhoc/adhoc.lib.lua Fri Apr 13 00:39:00 2012 +0200 @@ -25,6 +25,7 @@ end function _M.handle_cmd(command, origin, stanza) + local cmdtag, actions; local sessionid = stanza.tags[1].attr.sessionid or uuid.generate(); local dataIn = {}; dataIn.to = stanza.attr.to; @@ -58,7 +59,7 @@ elseif name == "error" then cmdtag:tag("note", {type="error"}):text(content.message):up(); elseif name =="actions" then - local actions = st.stanza("actions"); + actions = st.stanza("actions"); for _, action in ipairs(content) do if (action == "prev") or (action == "next") or (action == "complete") then actions:tag(action):up(); @@ -67,7 +68,6 @@ '" at node "'..command.node..'" provided an invalid action "'..action..'"'); end end - cmdtag:add_child(actions); elseif name == "form" then cmdtag:add_child((content.layout or content):form(content.values)); elseif name == "result" then @@ -76,6 +76,13 @@ cmdtag:add_child(content); end end + + if not actions then + actions = st.stanza("actions"); + actions:tag("complete"):up(); + end + cmdtag:add_child(actions); + stanza:add_child(cmdtag); origin.send(stanza);