]> 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:00:04 +0000 (16:00 +0800)
committerByron Jones <bjones@mozilla.com>
Thu, 4 Oct 2012 08:00:04 +0000 (16:00 +0800)
r=glob, a=LpSolit

Bugzilla/WebService/User.pm

index 5b54285c61ea7640bb7136bcf67f68b27dc15c49..d49ad24a0a4b5bfcf1753c548aa2750ff345f718 100644 (file)
@@ -308,10 +308,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;
 }