summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Bugzilla/User.pm19
1 files changed, 6 insertions, 13 deletions
diff --git a/Bugzilla/User.pm b/Bugzilla/User.pm
index b6754c472..2a616a145 100644
--- a/Bugzilla/User.pm
+++ b/Bugzilla/User.pm
@@ -1017,7 +1017,7 @@ sub match {
if ($wildstr =~ s/\*/\%/g) { # don't do wildcards if no '*' in the string
# Build the query.
trick_taint($wildstr);
- my $query = "SELECT DISTINCT login_name FROM profiles ";
+ my $query = "SELECT DISTINCT userid FROM profiles ";
if (Bugzilla->params->{'usevisibilitygroups'}) {
$query .= "INNER JOIN user_group_map
ON user_group_map.user_id = profiles.userid ";
@@ -1031,15 +1031,12 @@ sub match {
join(', ', (-1, @{$user->visible_groups_inherited})) . ") ";
}
$query .= " AND disabledtext = '' " if $exclude_disabled;
- $query .= " ORDER BY login_name ";
$query .= $dbh->sql_limit($limit) if $limit;
# Execute the query, retrieve the results, and make them into
# User objects.
- my $user_logins = $dbh->selectcol_arrayref($query, undef, ($wildstr, $wildstr));
- foreach my $login_name (@$user_logins) {
- push(@users, new Bugzilla::User({ name => $login_name }));
- }
+ my $user_ids = $dbh->selectcol_arrayref($query, undef, ($wildstr, $wildstr));
+ @users = @{Bugzilla::User->new_from_list($user_ids)};
}
else { # try an exact match
# Exact matches don't care if a user is disabled.
@@ -1055,7 +1052,7 @@ sub match {
if (!scalar(@users) && length($str) >= 3) {
trick_taint($str);
- my $query = "SELECT DISTINCT login_name FROM profiles ";
+ my $query = "SELECT DISTINCT userid FROM profiles ";
if (Bugzilla->params->{'usevisibilitygroups'}) {
$query .= "INNER JOIN user_group_map
ON user_group_map.user_id = profiles.userid ";
@@ -1069,13 +1066,9 @@ sub match {
join(', ', (-1, @{$user->visible_groups_inherited})) . ") ";
}
$query .= " AND disabledtext = '' " if $exclude_disabled;
- $query .= " ORDER BY login_name ";
$query .= $dbh->sql_limit($limit) if $limit;
-
- my $user_logins = $dbh->selectcol_arrayref($query, undef, ($str, $str));
- foreach my $login_name (@$user_logins) {
- push(@users, new Bugzilla::User({ name => $login_name }));
- }
+ my $user_ids = $dbh->selectcol_arrayref($query, undef, ($str, $str));
+ @users = @{Bugzilla::User->new_from_list($user_ids)};
}
return \@users;
}