net.server_select: Return handler from addclient
[prosody.git] / util / dataforms.lua
index 55bad998faea6569b44f51b91d06800edb2d540e..b38d0e274373c3923ad11cdd30a336b73f05e40f 100644 (file)
@@ -1,7 +1,7 @@
 -- Prosody IM
 -- Copyright (C) 2008-2010 Matthew Wild
 -- Copyright (C) 2008-2010 Waqas Hussain
--- 
+--
 -- This project is MIT/X11 licensed. Please see the
 -- COPYING file in the source package for more information.
 --
@@ -38,7 +38,7 @@ function form_t.form(layout, data, formtype)
                form:tag("field", { type = field_type, var = field.name, label = field.label });
 
                local value = (data and data[field.name]) or field.value;
-               
+
                if value then
                        -- Add value, depending on type
                        if field_type == "hidden" then
@@ -53,7 +53,7 @@ function form_t.form(layout, data, formtype)
                        elseif field_type == "boolean" then
                                form:tag("value"):text((value and "1") or "0"):up();
                        elseif field_type == "fixed" then
-                               
+                               form:tag("value"):text(value):up();
                        elseif field_type == "jid-multi" then
                                for _, jid in ipairs(value) do
                                        form:tag("value"):text(jid):up();
@@ -93,11 +93,11 @@ function form_t.form(layout, data, formtype)
                                end
                        end
                end
-               
+
                if field.required then
                        form:tag("required"):up();
                end
-               
+
                -- Jump back up to list of fields
                form:up();
        end
@@ -187,7 +187,11 @@ field_readers["list-multi"] =
                for value in field_tag:childtags("value") do
                        result[#result+1] = value:get_text();
                end
-               return result, (required and #result == 0 and "Required value missing" or nil);
+               if #result > 0 then
+                       return result;
+               elseif required then
+                       return nil, "Required value missing";
+               end
        end
 
 field_readers["text-multi"] =