aboutsummaryrefslogtreecommitdiffstats
path: root/editusers.cgi
diff options
context:
space:
mode:
Diffstat (limited to 'editusers.cgi')
-rwxr-xr-xeditusers.cgi9
1 files changed, 6 insertions, 3 deletions
diff --git a/editusers.cgi b/editusers.cgi
index 37665b12d..a53701d70 100755
--- a/editusers.cgi
+++ b/editusers.cgi
@@ -72,7 +72,7 @@ if ($action eq 'search') {
my $grouprestrict = $cgi->param('grouprestrict') || '0';
# 0 = disabled only, 1 = enabled only, 2 = everyone
my $is_enabled = $cgi->param('is_enabled') // 2;
- my $query = 'SELECT DISTINCT userid, login_name, realname, is_enabled, ' .
+ my $query = 'SELECT DISTINCT userid, login_name, realname, extern_id, is_enabled, ' .
$dbh->sql_date_format('last_seen_date', '%Y-%m-%d') . ' AS last_seen_date ' .
'FROM profiles';
my @bindValues;
@@ -129,6 +129,8 @@ if ($action eq 'search') {
$expr = "profiles.userid";
} elsif ($matchvalue eq 'realname') {
$expr = "profiles.realname";
+ } elsif ($matchvalue eq 'extern_id') {
+ $expr = "profiles.extern_id";
} else {
$expr = "profiles.login_name";
}
@@ -158,13 +160,14 @@ if ($action eq 'search') {
# Handle selection by group.
if ($grouprestrict eq '1') {
- my $grouplist = join(',',
+ my $direct_membership = $cgi->param('group_direct_membership');
+ my $grouplist = $direct_membership ? $group->id : join(',',
@{Bugzilla::Group->flatten_group_membership($group->id)});
$query .= " $nextCondition ugm.group_id IN($grouplist) ";
}
detaint_natural($is_enabled);
- if ($is_enabled && ($is_enabled == 0 || $is_enabled == 1)) {
+ if (defined($is_enabled) && ($is_enabled == 0 || $is_enabled == 1)) {
$query .= " $nextCondition profiles.is_enabled = ?";
$nextCondition = 'AND';
push(@bindValues, $is_enabled);