aboutsummaryrefslogtreecommitdiffstats
path: root/util/dataforms.lua
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2018-08-05 15:50:06 +0200
committerKim Alvefur <zash@zash.se>2018-08-05 15:50:06 +0200
commit876b96659c284c4ab0cb3bbbfe0f8abb7b634562 (patch)
treeab6500efb03d437a820995c696ab9ef95f9d8ca0 /util/dataforms.lua
parent553b67ccd09ff5706194a1a7e7d75172948da6bf (diff)
downloadprosody-876b96659c284c4ab0cb3bbbfe0f8abb7b634562.tar.gz
prosody-876b96659c284c4ab0cb3bbbfe0f8abb7b634562.zip
util.dataforms: Allow passing the current values to be used in stead of omitted fields
Diffstat (limited to 'util/dataforms.lua')
-rw-r--r--util/dataforms.lua6
1 files changed, 4 insertions, 2 deletions
diff --git a/util/dataforms.lua b/util/dataforms.lua
index a75e8db0..a5733b83 100644
--- a/util/dataforms.lua
+++ b/util/dataforms.lua
@@ -142,7 +142,7 @@ end
local field_readers = {};
-function form_t.data(layout, stanza)
+function form_t.data(layout, stanza, current)
local data = {};
local errors = {};
local present = {};
@@ -157,7 +157,9 @@ function form_t.data(layout, stanza)
end
if not tag then
- if field.required then
+ if current and current[field.name] ~= nil then
+ data[field.name] = current[field.name];
+ elseif field.required then
errors[field.name] = "Required value missing";
end
elseif field.name then