diff options
author | Peter Marko <peter.marko@siemens.com> | 2019-04-02 09:49:11 +0300 |
---|---|---|
committer | James Lopez <james@gitlab.com> | 2019-04-02 09:49:11 +0300 |
commit | 22fe2fb4c11c16739a3a1bb97569884db70ac546 (patch) | |
tree | 363f91b4822d32bdccb927af1d80d081beb76a7d /app/finders/groups_finder.rb | |
parent | ba23d6377c650ecaac420c8085a2cd82737d3ced (diff) |
Fix group transfer selection possibilities
Diffstat (limited to 'app/finders/groups_finder.rb')
-rw-r--r-- | app/finders/groups_finder.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/app/finders/groups_finder.rb b/app/finders/groups_finder.rb index 0080123407d..7d419103b1c 100644 --- a/app/finders/groups_finder.rb +++ b/app/finders/groups_finder.rb @@ -11,6 +11,7 @@ # parent: Group # all_available: boolean (defaults to true) # min_access_level: integer +# exclude_group_ids: array of integers # # Users with full private access can see all groups. The `owned` and `parent` # params can be used to restrict the groups that are returned. @@ -29,6 +30,7 @@ class GroupsFinder < UnionFinder items = all_groups.map do |item| item = by_parent(item) item = by_custom_attributes(item) + item = exclude_group_ids(item) item end @@ -72,6 +74,12 @@ class GroupsFinder < UnionFinder end # rubocop: enable CodeReuse/ActiveRecord + def exclude_group_ids(groups) + return groups unless params[:exclude_group_ids] + + groups.id_not_in(params[:exclude_group_ids]) + end + # rubocop: disable CodeReuse/ActiveRecord def by_parent(groups) return groups unless params[:parent] |