summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Bugzilla/WebService/User.pm8
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;
}