From 341d9da398c18bb508ebeaeb9e415d844285c7a0 Mon Sep 17 00:00:00 2001 From: Koosha Khajeh Moogahi Date: Thu, 4 Oct 2012 16:00:04 +0800 Subject: Bug 794125: Make User.get ignore duplicate groups for membership look ups r=glob, a=LpSolit --- Bugzilla/WebService/User.pm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'Bugzilla/WebService/User.pm') diff --git a/Bugzilla/WebService/User.pm b/Bugzilla/WebService/User.pm index 5b54285c6..d49ad24a0 100644 --- a/Bugzilla/WebService/User.pm +++ b/Bugzilla/WebService/User.pm @@ -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; } -- cgit v1.2.3-24-g4f1b