diff options
author | Bob Van Landuyt <bob@vanlanduyt.co> | 2017-07-21 15:49:37 +0200 |
---|---|---|
committer | Bob Van Landuyt <bob@vanlanduyt.co> | 2017-09-01 10:21:09 +0200 |
commit | 1e668a3cfebfcf576a8c5da834bad094fd9039f6 (patch) | |
tree | 405caed1e99ae5f642c9f363d793b3a9a64c4dd1 /app/controllers/concerns/groups_tree.rb | |
parent | bf4ec606a56238326bf4930c59d0ca82dd281cb7 (diff) | |
download | gitlab-ce-1e668a3cfebfcf576a8c5da834bad094fd9039f6.tar.gz |
Rework subgroup endpointbvl-show-projects-in-group-tree
Diffstat (limited to 'app/controllers/concerns/groups_tree.rb')
-rw-r--r-- | app/controllers/concerns/groups_tree.rb | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/app/controllers/concerns/groups_tree.rb b/app/controllers/concerns/groups_tree.rb new file mode 100644 index 00000000000..0420f773b26 --- /dev/null +++ b/app/controllers/concerns/groups_tree.rb @@ -0,0 +1,22 @@ +module GroupsTree + def find_groups(parent, all_available: true) + groups = + if parent && Group.supports_nested_groups? + if can?(current_user, :read_group, parent) + GroupsFinder.new(current_user, + parent: parent, + all_available: all_available, + all_children_for_parent: params[:filter_groups].present?).execute + else + Group.none + end + else + GroupsFinder.new(current_user, all_available: all_available).execute + end + + groups = groups.search(params[:filter_groups]) if params[:filter_groups].present? + groups = groups.includes(:route) + groups = groups.sort(@sort = params[:sort]) + groups.page(params[:page]) + end +end |