Skip to content
Snippets Groups Projects
Commit b5c1c88b authored by Peter Rotich's avatar Peter Rotich
Browse files

Add user lookup routines to the dispatcher

Fix odd CSS error
parent 44d4b288
No related branches found
No related tags found
No related merge requests found
......@@ -20,7 +20,7 @@ if(!defined('INCLUDE_DIR')) die('403');
include_once(INCLUDE_DIR.'class.ticket.php');
class UsersAjaxAPI extends AjaxController {
/* Assumes search by emal for now */
function search() {
......@@ -54,14 +54,51 @@ class UsersAjaxAPI extends AjaxController {
}
function getLookupForm() {
$user_info = array();
if ($_REQUEST['id']) {
$user = User::lookup($_REQUEST['id']);
$user_info += array(
'name'=>$user->getName(), 'email'=>$user->getEmail());
function getUser() {
if(($user=User::lookup($_REQUEST['id'])))
Http::response(201, $user->to_json());
$info = array('error' =>'Unknown or invalid user');
return self::_lookupform(null, $info);
}
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());
}
if (!$info || !$info['error'])
$info += array('error' =>'Error adding user - try again!');
return self::_lookupform($form, $info);
}
function getLookupForm() {
return self::_lookupform();
}
static function _lookupform($form=null, $info=array()) {
if (!$info or !$info['title'])
$info += array('title' => 'User Lookup');
ob_start();
include(STAFFINC_DIR . 'templates/user-lookup.tmpl.php');
$resp = ob_get_contents();
ob_end_clean();
return $resp;
}
}
?>
......@@ -61,7 +61,10 @@ $dispatcher = patterns('',
)),
url('^/users', patterns('ajax.users.php:UsersAjaxAPI',
url_get('^$', 'search'),
url_get('^/lookup$', 'getLookupForm')
url_get('^/(?P<id>\d+)$', 'getUser'),
url_get('^/lookup$', 'getUser'),
url_get('^/lookup/form$', 'getLookupForm'),
url_post('^/lookup/form$', 'addUser')
)),
url('^/tickets/', patterns('ajax.tickets.php:TicketsAjaxAPI',
url_get('^(?P<tid>\d+)/preview', 'previewTicket'),
......
......@@ -45,11 +45,11 @@ a {
#msg_info { margin: 0; padding: 5px; margin-bottom: 10px; color: #3a87ad; border: 1px solid #bce8f1; background-color: #d9edf7; }
#msg_notice { margin: 0; padding: 5px 10px 5px 36px; height: 16px; line-height: 16px; margin-bottom: 10px; border: 1px solid #0a0; background: url('../images/icons/ok.png') 10px 50% no-repeat #e0ffe0; }
#msg_notice { margin: 0; padding: 5px 10px 5px 36px; margin-bottom: 10px; border: 1px solid #0a0; background: url('../images/icons/ok.png') 10px 50% no-repeat #e0ffe0; }
#msg_warning { margin: 0; padding: 5px 10px 5px 36px; height: 16px; line-height: 16px; margin-bottom: 10px; border: 1px solid #f26522; background: url('../images/icons/alert.png') 10px 50% no-repeat #ffffdd; }
#msg_warning { margin: 0; padding: 5px 10px 5px 36px; margin-bottom: 10px; border: 1px solid #f26522; background: url('../images/icons/alert.png') 10px 50% no-repeat #ffffdd; }
#msg_error { margin: 0; padding: 5px 10px 5px 36px; height: 16px; line-height: 16px; margin-bottom: 10px; border: 1px solid #a00; background: url('../images/icons/error.png') 10px 50% no-repeat #fff0f0; }
#msg_error { margin: 0; padding: 5px 10px 5px 36px; margin-bottom: 10px; border: 1px solid #a00; background: url('../images/icons/error.png') 10px 50% no-repeat #fff0f0; }
#notice_bar { margin: 0; padding: 5px 10px 5px 36px; height: 16px; line-height: 16px; border: 1px solid #0a0; background: url('../images/icons/ok.png') 10px 50% no-repeat #e0ffe0; }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment