]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 440259: User::match should be using Bugzilla::User->new_from_list - Patch by...
authorlpsolit%gmail.com <>
Tue, 31 Mar 2009 19:35:25 +0000 (19:35 +0000)
committerlpsolit%gmail.com <>
Tue, 31 Mar 2009 19:35:25 +0000 (19:35 +0000)
Bugzilla/User.pm

index 1e20ef73d832c09eff38cc29081c3f5b5f73d0ee..74289fe56cc2ca40e0a6badd9c89b5dc7052a11c 100644 (file)
@@ -1015,7 +1015,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 ";
@@ -1034,10 +1034,8 @@ sub match {
 
         # 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.
@@ -1053,7 +1051,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 ";
@@ -1070,10 +1068,8 @@ sub match {
         $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;
 }