From 7bee9a0c965e090f87a395a0b7b6499acbbb43d8 Mon Sep 17 00:00:00 2001
From: Peter Rotich <peter@enhancesoft.com>
Date: Tue, 26 Nov 2013 23:41:38 +0000
Subject: [PATCH] Use base form API instead of DynamicFormEntry form Include
 all validation erors

---
 include/ajax.users.php | 27 +++++++++++++++------------
 1 file changed, 15 insertions(+), 12 deletions(-)

diff --git a/include/ajax.users.php b/include/ajax.users.php
index 91af6fee9..bbc19fc72 100644
--- a/include/ajax.users.php
+++ b/include/ajax.users.php
@@ -66,20 +66,23 @@ class UsersAjaxAPI extends AjaxController {
 
     function addUser() {
 
-        $errors = $info = array();
-        $user = null;
-
-        $form = UserForm::getInstance();
-        if ($form->isValid()) {
-            if (($f=$form->getField('email'))
-                    && User::lookup(array('emails__address'=>$f->getClean())))
-                $f->addError('Email is assigned to another user');
-            elseif (($user = User::fromForm($form->getClean())))
-                Http::response(201, $user->to_json());
+        $valid = true;
+        $form = UserForm::getUserForm()->getForm($_POST);
+        if (!$form->isValid())
+            $valid  = false;
+
+        if (($field=$form->getField('email'))
+                && $field->getClean()
+                && User::lookup(array('emails__address'=>$field->getClean()))) {
+            $field->addError('Email is assigned to another user');
+            $valid = false;
         }
 
-        if (!$info || !$info['error'])
-            $info += array('error' =>'Error adding user - try again!');
+        if ($valid && ($user = User::fromForm($form->getClean())))
+            Http::response(201, $user->to_json());
+
+
+        $info = array('error' =>'Error adding user - try again!');
 
         return self::_lookupform($form, $info);
     }
-- 
GitLab