From: Koosha Khajeh Moogahi Date: Thu, 4 Oct 2012 08:01:16 +0000 (+0800) Subject: Bug 794125: Make User.get ignore duplicate groups for membership look ups X-Git-Tag: bugzilla-4.4rc1~54 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a5dfc8d0bf3670365f142c1172fc3fa447d5223d;p=thirdparty%2Fbugzilla.git Bug 794125: Make User.get ignore duplicate groups for membership look ups r=glob, a=LpSolit --- diff --git a/Bugzilla/WebService/User.pm b/Bugzilla/WebService/User.pm index fb9453c636..2a62c3b5a8 100644 --- a/Bugzilla/WebService/User.pm +++ b/Bugzilla/WebService/User.pm @@ -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; }