]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 794125: Make User.get ignore duplicate groups for membership look ups
authorKoosha Khajeh Moogahi <koosha.khajeh@gmail.com>
Thu, 4 Oct 2012 08:01:16 +0000 (16:01 +0800)
committerByron Jones <bjones@mozilla.com>
Thu, 4 Oct 2012 08:01:16 +0000 (16:01 +0800)
r=glob, a=LpSolit

Bugzilla/WebService/User.pm

index fb9453c636c49ae3eee8d5e48d04a55f0509c5f2..2a62c3b5a873b0577298bd20713fe838fd6eb71e 100644 (file)
@@ -307,10 +307,12 @@ sub _filter_users_by_group {
                      @{ $group_ids || [] };
     my @name_groups = map { Bugzilla::Group->check($_) } 
                           @{ $group_names || [] };
-    push(@groups, @name_groups);
-    
+    my %unique_groups;
+    foreach my $group (@groups, @name_groups) {
+        $unique_groups{$group->id} ||= $group;
+    }
 
-    my @in_group = grep { $self->_user_in_any_group($_, \@groups) }
+    my @in_group = grep { $self->_user_in_any_group($_, [values %unique_groups]) }
                         @$users;
     return \@in_group;
 }