From 6bccd4433b272ece032235003d65b87262de40de Mon Sep 17 00:00:00 2001 From: Peter Rotich <peter@osticket.com> Date: Mon, 14 Apr 2014 20:56:14 +0000 Subject: [PATCH] Add remote user Support adding remote user to an organization --- include/ajax.orgs.php | 9 ++++++++- scp/ajax.php | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/include/ajax.orgs.php b/include/ajax.orgs.php index 2e4b5009a..eeaa23c7e 100644 --- a/include/ajax.orgs.php +++ b/include/ajax.orgs.php @@ -101,7 +101,7 @@ class OrgsAjaxAPI extends AjaxController { include(STAFFINC_DIR . 'templates/org-delete.tmpl.php'); } - function addUser($id, $userId=0) { + function addUser($id, $userId=0, $remote=false) { global $thisstaff; if (!$thisstaff) @@ -136,6 +136,13 @@ class OrgsAjaxAPI extends AjaxController { elseif (!$info['error']) $info['error'] = 'Unable to add user to the organization - try again'; + } elseif ($remote && $userId) { + list($bk, $userId) = explode(':', $userId, 2); + if (!($backend = AuthenticationBackend::getSearchDirectoryBackend($bk)) + || !($user_info = $backend->lookup($userId))) + Http::response(404, 'User not found'); + + $form = UserForm::getUserForm()->getForm($user_info); } elseif ($userId) //Selected local user $user = User::lookup($userId); diff --git a/scp/ajax.php b/scp/ajax.php index 8385b50c7..27fb8022a 100644 --- a/scp/ajax.php +++ b/scp/ajax.php @@ -104,6 +104,7 @@ $dispatcher = patterns('', url_get('^/select$', 'selectOrg'), url_get('^/select/(?P<id>\d+)$', 'selectOrg'), url_get('^/(?P<id>\d+)/add-user(?:/(?P<userid>\d+))?$', 'addUser'), + url_get('^/(?P<id>\d+)/add-user(?:/auth:(?P<userid>.+))?$', 'addUser', array(true)), url_post('^/(?P<id>\d+)/add-user$', 'addUser'), url_get('^/(?P<id>\d+)/delete$', 'delete'), url_delete('^/(?P<id>\d+)/delete$', 'delete') -- GitLab