From 4f491b8b3624903452f8d6fa0dfc43be928fe4b8 Mon Sep 17 00:00:00 2001 From: Eric Rasmussen <eric@unl.edu> Date: Tue, 15 Nov 2011 21:42:10 +0000 Subject: [PATCH] [gh-248] Merging test into staging git-svn-id: file:///tmp/wdn_thm_drupal/branches/drupal-7.x/staging@1288 20a16fea-79d4-4915-8869-1ea9d5ebf173 --- sites/all/modules/unl/unl.module | 23 ++++++++++++++++++- .../all/modules/unl/unl_cas/unl_cas.admin.inc | 1 + sites/all/modules/unl/unl_cas/unl_cas.module | 2 +- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/sites/all/modules/unl/unl.module b/sites/all/modules/unl/unl.module index 3c112335..ae1d2b3f 100644 --- a/sites/all/modules/unl/unl.module +++ b/sites/all/modules/unl/unl.module @@ -1292,4 +1292,25 @@ class UnlPublicStreamWrapper extends DrupalPublicStreamWrapper { } } - +/** + * Implements hook_query_alter() + * Currently used to filter out users with no roles at "admin/people". + */ +function unl_query_alter(QueryAlterableInterface $query) +{ + // If this query is coming from the "People" admin page + if (current_path() == 'admin/people') { + // Find the prefix for the "users" table + $usersTableAlias = NULL; + foreach ($query->getTables() as $alias => $table) { + if ($table['table'] == 'users') { + $usersTableAlias = $alias; + } + } + // If we actually find a users table + if ($usersTableAlias) { + // Join it with the users_roles tables so that only users with roles are seleceted. + $query->join('users_roles', 'unl_distinct_prefix_r', $usersTableAlias . '.uid = unl_distinct_prefix_r.uid'); + } + } +} diff --git a/sites/all/modules/unl/unl_cas/unl_cas.admin.inc b/sites/all/modules/unl/unl_cas/unl_cas.admin.inc index 1895db85..425172c5 100644 --- a/sites/all/modules/unl/unl_cas/unl_cas.admin.inc +++ b/sites/all/modules/unl/unl_cas/unl_cas.admin.inc @@ -79,6 +79,7 @@ function unl_cas_user_import_submit($form, &$form_state) { if ($user) { drupal_set_message('User ' . $form_state['values']['username'] . ' successfully created.'); + drupal_goto('user/'.$user->uid.'/edit', array('query'=>array('destination'=>'admin/people'))); } else { drupal_set_message('An error occured importing the user.', 'error'); } diff --git a/sites/all/modules/unl/unl_cas/unl_cas.module b/sites/all/modules/unl/unl_cas/unl_cas.module index c0031658..592b36fe 100644 --- a/sites/all/modules/unl/unl_cas/unl_cas.module +++ b/sites/all/modules/unl/unl_cas/unl_cas.module @@ -184,7 +184,7 @@ function unl_cas_form_alter(&$form, &$form_state, $form_id) { * Implements hook_form_FORM_ID_alter(). * Make sure there's no funny business with somebody trying to change a password when we're using CAS. */ -function unl_cas_user_profile_form_validate(&$form, &$form_state, $form_id) { +function unl_cas_user_profile_form_validate(&$form, &$form_state, $form_id = '') { if ($form_state['values']['pass']) { form_set_error('current_pass', t('Password changes are not allowed when CAS is enabled!')); } -- GitLab