Software /
code /
prosody
Annotate
util/adhoc.lua @ 10390:82705ec87253 0.11
util.startup: Ensure prosody.paths are absolute (see #1430)
Normally these paths are injected into the installed 'prosody'
executable as absolute paths, but it is possible to override at least
the config path via environment variable or command line argument. This
makes sure a path relative to pwd stays relative to that instead of the
data directory.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Mon, 04 Nov 2019 00:29:49 +0100 |
parent | 8382:e5d00bf4a4d5 |
child | 10667:49312378ba1d |
rev | line source |
---|---|
8382
e5d00bf4a4d5
util: Various minor changes to please [luacheck]
Kim Alvefur <zash@zash.se>
parents:
7912
diff
changeset
|
1 -- luacheck: ignore 212/self |
e5d00bf4a4d5
util: Various minor changes to please [luacheck]
Kim Alvefur <zash@zash.se>
parents:
7912
diff
changeset
|
2 |
5513
755f705f126a
util.adhoc: New util for generating common adhoc handler patterns
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
3 local function new_simple_form(form, result_handler) |
755f705f126a
util.adhoc: New util for generating common adhoc handler patterns
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
4 return function(self, data, state) |
755f705f126a
util.adhoc: New util for generating common adhoc handler patterns
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
5 if state then |
755f705f126a
util.adhoc: New util for generating common adhoc handler patterns
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
6 if data.action == "cancel" then |
755f705f126a
util.adhoc: New util for generating common adhoc handler patterns
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
7 return { status = "canceled" }; |
755f705f126a
util.adhoc: New util for generating common adhoc handler patterns
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
8 end |
755f705f126a
util.adhoc: New util for generating common adhoc handler patterns
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
9 local fields, err = form:data(data.form); |
755f705f126a
util.adhoc: New util for generating common adhoc handler patterns
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
10 return result_handler(fields, err, data); |
755f705f126a
util.adhoc: New util for generating common adhoc handler patterns
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
11 else |
755f705f126a
util.adhoc: New util for generating common adhoc handler patterns
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
12 return { status = "executing", actions = {"next", "complete", default = "complete"}, form = form }, "executing"; |
755f705f126a
util.adhoc: New util for generating common adhoc handler patterns
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
13 end |
755f705f126a
util.adhoc: New util for generating common adhoc handler patterns
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
14 end |
755f705f126a
util.adhoc: New util for generating common adhoc handler patterns
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
15 end |
755f705f126a
util.adhoc: New util for generating common adhoc handler patterns
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
16 |
755f705f126a
util.adhoc: New util for generating common adhoc handler patterns
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
17 local function new_initial_data_form(form, initial_data, result_handler) |
755f705f126a
util.adhoc: New util for generating common adhoc handler patterns
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
18 return function(self, data, state) |
755f705f126a
util.adhoc: New util for generating common adhoc handler patterns
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
19 if state then |
755f705f126a
util.adhoc: New util for generating common adhoc handler patterns
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
20 if data.action == "cancel" then |
755f705f126a
util.adhoc: New util for generating common adhoc handler patterns
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
21 return { status = "canceled" }; |
755f705f126a
util.adhoc: New util for generating common adhoc handler patterns
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
22 end |
755f705f126a
util.adhoc: New util for generating common adhoc handler patterns
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
23 local fields, err = form:data(data.form); |
755f705f126a
util.adhoc: New util for generating common adhoc handler patterns
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
24 return result_handler(fields, err, data); |
755f705f126a
util.adhoc: New util for generating common adhoc handler patterns
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
25 else |
755f705f126a
util.adhoc: New util for generating common adhoc handler patterns
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
26 return { status = "executing", actions = {"next", "complete", default = "complete"}, |
7912
2c204ba8e52e
util.adhoc: Pass command data to initial_data callback in order to allow loading per-user settings
Kim Alvefur <zash@zash.se>
parents:
5513
diff
changeset
|
27 form = { layout = form, values = initial_data(data) } }, "executing"; |
5513
755f705f126a
util.adhoc: New util for generating common adhoc handler patterns
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
28 end |
755f705f126a
util.adhoc: New util for generating common adhoc handler patterns
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
29 end |
755f705f126a
util.adhoc: New util for generating common adhoc handler patterns
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
30 end |
755f705f126a
util.adhoc: New util for generating common adhoc handler patterns
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
31 |
755f705f126a
util.adhoc: New util for generating common adhoc handler patterns
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
32 return { new_simple_form = new_simple_form, |
755f705f126a
util.adhoc: New util for generating common adhoc handler patterns
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
33 new_initial_data_form = new_initial_data_form }; |