diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-05-20 17:34:42 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-05-20 17:34:42 +0300 |
commit | 9f46488805e86b1bc341ea1620b866016c2ce5ed (patch) | |
tree | f9748c7e287041e37d6da49e0a29c9511dc34768 /app/controllers/clusters/clusters_controller.rb | |
parent | dfc92d081ea0332d69c8aca2f0e745cb48ae5e6d (diff) |
Add latest changes from gitlab-org/gitlab@13-0-stable-ee
Diffstat (limited to 'app/controllers/clusters/clusters_controller.rb')
-rw-r--r-- | app/controllers/clusters/clusters_controller.rb | 40 |
1 files changed, 28 insertions, 12 deletions
diff --git a/app/controllers/clusters/clusters_controller.rb b/app/controllers/clusters/clusters_controller.rb index 2c9ee69c8c4..aa39d430b24 100644 --- a/app/controllers/clusters/clusters_controller.rb +++ b/app/controllers/clusters/clusters_controller.rb @@ -18,20 +18,19 @@ class Clusters::ClustersController < Clusters::BaseController STATUS_POLLING_INTERVAL = 10_000 def index - finder = ClusterAncestorsFinder.new(clusterable.subject, current_user) - clusters = finder.execute + @clusters = cluster_list - # Note: We are paginating through an array here but this should OK as: - # - # In CE, we can have a maximum group nesting depth of 21, so including - # project cluster, we can have max 22 clusters for a group hierarchy. - # In EE (Premium) we can have any number, as multiple clusters are - # supported, but the number of clusters are fairly low currently. - # - # See https://gitlab.com/gitlab-org/gitlab-foss/issues/55260 also. - @clusters = Kaminari.paginate_array(clusters).page(params[:page]).per(20) + respond_to do |format| + format.html + format.json do + serializer = ClusterSerializer.new(current_user: current_user) - @has_ancestor_clusters = finder.has_ancestor_clusters? + render json: { + clusters: serializer.with_pagination(request, response).represent_list(@clusters), + has_ancestor_clusters: @has_ancestor_clusters + } + end + end end def new @@ -158,6 +157,23 @@ class Clusters::ClustersController < Clusters::BaseController private + def cluster_list + finder = ClusterAncestorsFinder.new(clusterable.subject, current_user) + clusters = finder.execute + + @has_ancestor_clusters = finder.has_ancestor_clusters? + + # Note: We are paginating through an array here but this should OK as: + # + # In CE, we can have a maximum group nesting depth of 21, so including + # project cluster, we can have max 22 clusters for a group hierarchy. + # In EE (Premium) we can have any number, as multiple clusters are + # supported, but the number of clusters are fairly low currently. + # + # See https://gitlab.com/gitlab-org/gitlab-foss/issues/55260 also. + Kaminari.paginate_array(clusters).page(params[:page]).per(20) + end + def destroy_params params.permit(:cleanup) end |