summaryrefslogtreecommitdiff
path: root/app/helpers/groups_helper.rb
diff options
context:
space:
mode:
authorPeter Marko <peter.marko@siemens.com>2019-04-02 06:49:11 +0000
committerJames Lopez <james@gitlab.com>2019-04-02 06:49:11 +0000
commit22fe2fb4c11c16739a3a1bb97569884db70ac546 (patch)
tree363f91b4822d32bdccb927af1d80d081beb76a7d /app/helpers/groups_helper.rb
parentba23d6377c650ecaac420c8085a2cd82737d3ced (diff)
downloadgitlab-ce-22fe2fb4c11c16739a3a1bb97569884db70ac546.tar.gz
Fix group transfer selection possibilities
Diffstat (limited to 'app/helpers/groups_helper.rb')
-rw-r--r--app/helpers/groups_helper.rb5
1 files changed, 3 insertions, 2 deletions
diff --git a/app/helpers/groups_helper.rb b/app/helpers/groups_helper.rb
index 9d028dccad7..7af766c8544 100644
--- a/app/helpers/groups_helper.rb
+++ b/app/helpers/groups_helper.rb
@@ -118,11 +118,12 @@ module GroupsHelper
end
def parent_group_options(current_group)
- groups = current_user.owned_groups.sort_by(&:human_name).map do |group|
+ exclude_groups = current_group.self_and_descendants.pluck_primary_key
+ exclude_groups << current_group.parent_id if current_group.parent_id
+ groups = GroupsFinder.new(current_user, min_access_level: Gitlab::Access::OWNER, exclude_group_ids: exclude_groups).execute.sort_by(&:human_name).map do |group|
{ id: group.id, text: group.human_name }
end
- groups.delete_if { |group| group[:id] == current_group.id }
groups.to_json
end