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