diff options
Diffstat (limited to 'Bugzilla')
-rw-r--r-- | Bugzilla/WebService/User.pm | 8 |
1 files changed, 5 insertions, 3 deletions
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; } |