Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/concerns/group_tree.rb')
-rw-r--r--app/controllers/concerns/group_tree.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/app/controllers/concerns/group_tree.rb b/app/controllers/concerns/group_tree.rb
new file mode 100644
index 00000000000..6d5682ff769
--- /dev/null
+++ b/app/controllers/concerns/group_tree.rb
@@ -0,0 +1,19 @@
+module GroupTree
+ def render_group_tree(groups)
+ # Only show root groups if no parent-id is given
+ @groups = groups.where(parent_id: params[:parent_id])
+ @groups = @groups.search(params[:filter]) if params[:filter].present?
+ @groups = @groups.includes(:route)
+ @groups = @groups.sort(@sort = params[:sort])
+ @groups = @groups.page(params[:page])
+
+ respond_to do |format|
+ format.html
+ format.json do
+ serializer = GroupChildSerializer.new(current_user: current_user)
+ .with_pagination(request, response)
+ render json: serializer.represent(@groups)
+ end
+ end
+ end
+end