From 9809e1d404ed1d386ac07e08e4832656325e5971 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Wed, 15 Nov 2017 20:15:48 +0100 Subject: Find cluster by id in ClustersController#cluster Prepares the controller for handling multiple clusters instead of just one. --- app/controllers/projects/clusters_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/controllers/projects/clusters_controller.rb') diff --git a/app/controllers/projects/clusters_controller.rb b/app/controllers/projects/clusters_controller.rb index 9a56c9de858..7808284fb82 100644 --- a/app/controllers/projects/clusters_controller.rb +++ b/app/controllers/projects/clusters_controller.rb @@ -88,7 +88,7 @@ class Projects::ClustersController < Projects::ApplicationController private def cluster - @cluster ||= project.cluster.present(current_user: current_user) + @cluster ||= project.clusters.find_by(id: params[:id])&.present(current_user: current_user) || render_404 end def create_params -- cgit v1.2.3 From b0a8840369ebe717be26125a59acab02c515cf22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Wed, 15 Nov 2017 20:17:42 +0100 Subject: List multiple clusters on ClustersController#index Also: * Stub out index view * Adds the clusters before_action that returns all clusters --- app/controllers/projects/clusters_controller.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'app/controllers/projects/clusters_controller.rb') diff --git a/app/controllers/projects/clusters_controller.rb b/app/controllers/projects/clusters_controller.rb index 7808284fb82..6ffe108f7fa 100644 --- a/app/controllers/projects/clusters_controller.rb +++ b/app/controllers/projects/clusters_controller.rb @@ -1,5 +1,6 @@ class Projects::ClustersController < Projects::ApplicationController before_action :cluster, except: [:login, :index, :new, :new_gcp, :create] + before_action :clusters, only: [:index] before_action :authorize_read_cluster! before_action :authorize_create_cluster!, only: [:new, :new_gcp, :create] before_action :authorize_google_api, only: [:new_gcp, :create] @@ -7,11 +8,6 @@ class Projects::ClustersController < Projects::ApplicationController before_action :authorize_admin_cluster!, only: [:destroy] def index - if project.cluster - redirect_to project_cluster_path(project, project.cluster) - else - redirect_to new_project_cluster_path(project) - end end def login @@ -91,6 +87,10 @@ class Projects::ClustersController < Projects::ApplicationController @cluster ||= project.clusters.find_by(id: params[:id])&.present(current_user: current_user) || render_404 end + def clusters + @clusters ||= project.clusters.map { |cluster| cluster.present(current_user: current_user) } + end + def create_params params.require(:cluster).permit( :enabled, -- cgit v1.2.3 From cc0c61155561e5baa1b28319ceb6633858a7d9f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Thu, 16 Nov 2017 14:40:30 +0100 Subject: Move cluster loading to ClustersController#index --- app/controllers/projects/clusters_controller.rb | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'app/controllers/projects/clusters_controller.rb') diff --git a/app/controllers/projects/clusters_controller.rb b/app/controllers/projects/clusters_controller.rb index 6ffe108f7fa..19ae3192044 100644 --- a/app/controllers/projects/clusters_controller.rb +++ b/app/controllers/projects/clusters_controller.rb @@ -1,6 +1,5 @@ class Projects::ClustersController < Projects::ApplicationController before_action :cluster, except: [:login, :index, :new, :new_gcp, :create] - before_action :clusters, only: [:index] before_action :authorize_read_cluster! before_action :authorize_create_cluster!, only: [:new, :new_gcp, :create] before_action :authorize_google_api, only: [:new_gcp, :create] @@ -8,6 +7,7 @@ class Projects::ClustersController < Projects::ApplicationController before_action :authorize_admin_cluster!, only: [:destroy] def index + @clusters ||= project.clusters.map { |cluster| cluster.present(current_user: current_user) } end def login @@ -87,10 +87,6 @@ class Projects::ClustersController < Projects::ApplicationController @cluster ||= project.clusters.find_by(id: params[:id])&.present(current_user: current_user) || render_404 end - def clusters - @clusters ||= project.clusters.map { |cluster| cluster.present(current_user: current_user) } - end - def create_params params.require(:cluster).permit( :enabled, -- cgit v1.2.3 From 0bee018631ae199ce87125c21379e1db2f56bf67 Mon Sep 17 00:00:00 2001 From: Filipa Lacerda Date: Fri, 24 Nov 2017 13:43:00 +0000 Subject: Adds JS to toggle buttons [ci skip] --- app/controllers/projects/clusters_controller.rb | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'app/controllers/projects/clusters_controller.rb') diff --git a/app/controllers/projects/clusters_controller.rb b/app/controllers/projects/clusters_controller.rb index 19ae3192044..37271c4708d 100644 --- a/app/controllers/projects/clusters_controller.rb +++ b/app/controllers/projects/clusters_controller.rb @@ -7,7 +7,7 @@ class Projects::ClustersController < Projects::ApplicationController before_action :authorize_admin_cluster!, only: [:destroy] def index - @clusters ||= project.clusters.map { |cluster| cluster.present(current_user: current_user) } + @clusters ||= project.clusters.page(params[:page]).per(20).map { |cluster| cluster.present(current_user: current_user) } end def login @@ -64,10 +64,20 @@ class Projects::ClustersController < Projects::ApplicationController .execute(cluster) if cluster.valid? - flash[:notice] = "Cluster was successfully updated." - redirect_to project_cluster_path(project, project.cluster) + respond_to do |format| + format.json do + head :no_content + end + format.html do + flash[:notice] = "Cluster was successfully updated." + redirect_to project_cluster_path(project, project.cluster) + end + end else - render :show + respond_to do |format| + format.json { head :bad_request } + format.html { render :show } + end end end -- cgit v1.2.3 From 1b40a9f803f33bc16852a907c1ff8269e956c1f6 Mon Sep 17 00:00:00 2001 From: Filipa Lacerda Date: Fri, 24 Nov 2017 21:00:06 +0000 Subject: Handle toggle button with API request Add tests Update empty state [ci skip] --- app/controllers/projects/clusters_controller.rb | 2 ++ 1 file changed, 2 insertions(+) (limited to 'app/controllers/projects/clusters_controller.rb') diff --git a/app/controllers/projects/clusters_controller.rb b/app/controllers/projects/clusters_controller.rb index 37271c4708d..19dbffed5bb 100644 --- a/app/controllers/projects/clusters_controller.rb +++ b/app/controllers/projects/clusters_controller.rb @@ -8,6 +8,8 @@ class Projects::ClustersController < Projects::ApplicationController def index @clusters ||= project.clusters.page(params[:page]).per(20).map { |cluster| cluster.present(current_user: current_user) } + + @clusters_count = @clusters.count end def login -- cgit v1.2.3 From 52bc8261964ee20a1a1e128be0c3972853a2c62b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Mon, 27 Nov 2017 13:33:33 +0100 Subject: Add cluster counts to ClustersController#index --- app/controllers/projects/clusters_controller.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'app/controllers/projects/clusters_controller.rb') diff --git a/app/controllers/projects/clusters_controller.rb b/app/controllers/projects/clusters_controller.rb index 19dbffed5bb..6a4e212fee4 100644 --- a/app/controllers/projects/clusters_controller.rb +++ b/app/controllers/projects/clusters_controller.rb @@ -9,7 +9,9 @@ class Projects::ClustersController < Projects::ApplicationController def index @clusters ||= project.clusters.page(params[:page]).per(20).map { |cluster| cluster.present(current_user: current_user) } - @clusters_count = @clusters.count + @active_count = project.clusters.enabled.count + @inactive_count = project.clusters.disabled.count + @all_count = @active_count + @inactive_count end def login -- cgit v1.2.3 From efc610d32b39001ba0b986a1cec27954e65afad4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Mon, 27 Nov 2017 13:51:00 +0100 Subject: Use ClustersFinder in ClustersController#clusters --- app/controllers/projects/clusters_controller.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'app/controllers/projects/clusters_controller.rb') diff --git a/app/controllers/projects/clusters_controller.rb b/app/controllers/projects/clusters_controller.rb index 6a4e212fee4..01990fc3e2a 100644 --- a/app/controllers/projects/clusters_controller.rb +++ b/app/controllers/projects/clusters_controller.rb @@ -1,5 +1,6 @@ class Projects::ClustersController < Projects::ApplicationController before_action :cluster, except: [:login, :index, :new, :new_gcp, :create] + before_action :clusters, only: [:index] before_action :authorize_read_cluster! before_action :authorize_create_cluster!, only: [:new, :new_gcp, :create] before_action :authorize_google_api, only: [:new_gcp, :create] @@ -7,8 +8,6 @@ class Projects::ClustersController < Projects::ApplicationController before_action :authorize_admin_cluster!, only: [:destroy] def index - @clusters ||= project.clusters.page(params[:page]).per(20).map { |cluster| cluster.present(current_user: current_user) } - @active_count = project.clusters.enabled.count @inactive_count = project.clusters.disabled.count @all_count = @active_count + @inactive_count @@ -101,6 +100,11 @@ class Projects::ClustersController < Projects::ApplicationController @cluster ||= project.clusters.find_by(id: params[:id])&.present(current_user: current_user) || render_404 end + def clusters + scope = params[:scope] || :all + @clusters = ClustersFinder.new(project, user, scope).execute + end + def create_params params.require(:cluster).permit( :enabled, -- cgit v1.2.3 From 554bf24b2a9e2964286272e690be417901cbd6e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Mon, 27 Nov 2017 14:03:35 +0100 Subject: Add cluster pagination to ClustersController#index --- app/controllers/projects/clusters_controller.rb | 1 + 1 file changed, 1 insertion(+) (limited to 'app/controllers/projects/clusters_controller.rb') diff --git a/app/controllers/projects/clusters_controller.rb b/app/controllers/projects/clusters_controller.rb index 01990fc3e2a..eb93dfabf3a 100644 --- a/app/controllers/projects/clusters_controller.rb +++ b/app/controllers/projects/clusters_controller.rb @@ -8,6 +8,7 @@ class Projects::ClustersController < Projects::ApplicationController before_action :authorize_admin_cluster!, only: [:destroy] def index + @clusters = Kaminari.paginate_array(@clusters).page(params[:page]).per(20) @active_count = project.clusters.enabled.count @inactive_count = project.clusters.disabled.count @all_count = @active_count + @inactive_count -- cgit v1.2.3 From aec7bbf10af655030cbe2ccd26fbee610547f15f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Mon, 27 Nov 2017 16:32:55 +0100 Subject: Use current_user in ClustersController#clusters --- app/controllers/projects/clusters_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/controllers/projects/clusters_controller.rb') diff --git a/app/controllers/projects/clusters_controller.rb b/app/controllers/projects/clusters_controller.rb index eb93dfabf3a..675f0dfb645 100644 --- a/app/controllers/projects/clusters_controller.rb +++ b/app/controllers/projects/clusters_controller.rb @@ -103,7 +103,7 @@ class Projects::ClustersController < Projects::ApplicationController def clusters scope = params[:scope] || :all - @clusters = ClustersFinder.new(project, user, scope).execute + @clusters = ClustersFinder.new(project, current_user, scope).execute end def create_params -- cgit v1.2.3 From 061b496357d3e7d607faee2a6a02320a39ce3236 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Mon, 27 Nov 2017 18:05:42 +0100 Subject: Fix symbolization error in #clusters --- app/controllers/projects/clusters_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/controllers/projects/clusters_controller.rb') diff --git a/app/controllers/projects/clusters_controller.rb b/app/controllers/projects/clusters_controller.rb index 675f0dfb645..743c4d8c0a6 100644 --- a/app/controllers/projects/clusters_controller.rb +++ b/app/controllers/projects/clusters_controller.rb @@ -102,7 +102,7 @@ class Projects::ClustersController < Projects::ApplicationController end def clusters - scope = params[:scope] || :all + scope = params[:scope]&.to_sym || :all @clusters = ClustersFinder.new(project, current_user, scope).execute end -- cgit v1.2.3 From 18967d689402d6c3c2a36c844fb90aa051a69cc1 Mon Sep 17 00:00:00 2001 From: Filipa Lacerda Date: Tue, 28 Nov 2017 13:16:44 +0000 Subject: Changes after Frontend and UX review: - Moves toggle button to a shared location - Adds tests for toggle button - Transforms Clusters class into function - Improves UX --- app/controllers/projects/clusters_controller.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'app/controllers/projects/clusters_controller.rb') diff --git a/app/controllers/projects/clusters_controller.rb b/app/controllers/projects/clusters_controller.rb index 743c4d8c0a6..68dc3f5c7ea 100644 --- a/app/controllers/projects/clusters_controller.rb +++ b/app/controllers/projects/clusters_controller.rb @@ -102,7 +102,8 @@ class Projects::ClustersController < Projects::ApplicationController end def clusters - scope = params[:scope]&.to_sym || :all + @scope = params[:scope] || 'all' + scope = @scope&.to_sym @clusters = ClustersFinder.new(project, current_user, scope).execute end -- cgit v1.2.3 From 6f720390073beef93c95af5e45475421beb03b07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Tue, 28 Nov 2017 14:24:50 +0100 Subject: Expose scope to view in ClustersController#index --- app/controllers/projects/clusters_controller.rb | 1 + 1 file changed, 1 insertion(+) (limited to 'app/controllers/projects/clusters_controller.rb') diff --git a/app/controllers/projects/clusters_controller.rb b/app/controllers/projects/clusters_controller.rb index 68dc3f5c7ea..078c1f62177 100644 --- a/app/controllers/projects/clusters_controller.rb +++ b/app/controllers/projects/clusters_controller.rb @@ -9,6 +9,7 @@ class Projects::ClustersController < Projects::ApplicationController def index @clusters = Kaminari.paginate_array(@clusters).page(params[:page]).per(20) + @scope = params[:scope] @active_count = project.clusters.enabled.count @inactive_count = project.clusters.disabled.count @all_count = @active_count + @inactive_count -- cgit v1.2.3 From 3de1ba6cfae816a0bf8e985e2415ae2f09cbb080 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Tue, 28 Nov 2017 14:44:09 +0100 Subject: Move cluster sourcing from before_action to #index --- app/controllers/projects/clusters_controller.rb | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'app/controllers/projects/clusters_controller.rb') diff --git a/app/controllers/projects/clusters_controller.rb b/app/controllers/projects/clusters_controller.rb index 078c1f62177..8205068ae42 100644 --- a/app/controllers/projects/clusters_controller.rb +++ b/app/controllers/projects/clusters_controller.rb @@ -1,6 +1,5 @@ class Projects::ClustersController < Projects::ApplicationController before_action :cluster, except: [:login, :index, :new, :new_gcp, :create] - before_action :clusters, only: [:index] before_action :authorize_read_cluster! before_action :authorize_create_cluster!, only: [:new, :new_gcp, :create] before_action :authorize_google_api, only: [:new_gcp, :create] @@ -8,8 +7,9 @@ class Projects::ClustersController < Projects::ApplicationController before_action :authorize_admin_cluster!, only: [:destroy] def index - @clusters = Kaminari.paginate_array(@clusters).page(params[:page]).per(20) @scope = params[:scope] + clusters = ClustersFinder.new(project, current_user, @scope).execute + @clusters = clusters.page(params[:page]).per(20) @active_count = project.clusters.enabled.count @inactive_count = project.clusters.disabled.count @all_count = @active_count + @inactive_count @@ -102,12 +102,6 @@ class Projects::ClustersController < Projects::ApplicationController @cluster ||= project.clusters.find_by(id: params[:id])&.present(current_user: current_user) || render_404 end - def clusters - @scope = params[:scope] || 'all' - scope = @scope&.to_sym - @clusters = ClustersFinder.new(project, current_user, scope).execute - end - def create_params params.require(:cluster).permit( :enabled, -- cgit v1.2.3 From 062f011d32ac03e3b23a40301ec50733e9466433 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Wed, 29 Nov 2017 17:21:34 +0100 Subject: Default to :all scope for ClustersController#index --- app/controllers/projects/clusters_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/controllers/projects/clusters_controller.rb') diff --git a/app/controllers/projects/clusters_controller.rb b/app/controllers/projects/clusters_controller.rb index 8205068ae42..48c88bc9b0d 100644 --- a/app/controllers/projects/clusters_controller.rb +++ b/app/controllers/projects/clusters_controller.rb @@ -7,7 +7,7 @@ class Projects::ClustersController < Projects::ApplicationController before_action :authorize_admin_cluster!, only: [:destroy] def index - @scope = params[:scope] + @scope = params[:scope] || :all clusters = ClustersFinder.new(project, current_user, @scope).execute @clusters = clusters.page(params[:page]).per(20) @active_count = project.clusters.enabled.count -- cgit v1.2.3 From 976e22e6757e376c6702a1e3b93f3f7e8ac448cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Thu, 30 Nov 2017 16:41:07 +0100 Subject: Use strings for @scope in ClustersController#index --- app/controllers/projects/clusters_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/controllers/projects/clusters_controller.rb') diff --git a/app/controllers/projects/clusters_controller.rb b/app/controllers/projects/clusters_controller.rb index 48c88bc9b0d..c24b413b51e 100644 --- a/app/controllers/projects/clusters_controller.rb +++ b/app/controllers/projects/clusters_controller.rb @@ -7,7 +7,7 @@ class Projects::ClustersController < Projects::ApplicationController before_action :authorize_admin_cluster!, only: [:destroy] def index - @scope = params[:scope] || :all + @scope = params[:scope] || 'all' clusters = ClustersFinder.new(project, current_user, @scope).execute @clusters = clusters.page(params[:page]).per(20) @active_count = project.clusters.enabled.count -- cgit v1.2.3 From c2bf452c171ec5c8cd2901f3746f5a3c5e55bc77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Fri, 1 Dec 2017 18:01:59 +0100 Subject: Refactor ClustersController pagination test --- app/controllers/projects/clusters_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/controllers/projects/clusters_controller.rb') diff --git a/app/controllers/projects/clusters_controller.rb b/app/controllers/projects/clusters_controller.rb index c24b413b51e..2843045fdc4 100644 --- a/app/controllers/projects/clusters_controller.rb +++ b/app/controllers/projects/clusters_controller.rb @@ -9,7 +9,7 @@ class Projects::ClustersController < Projects::ApplicationController def index @scope = params[:scope] || 'all' clusters = ClustersFinder.new(project, current_user, @scope).execute - @clusters = clusters.page(params[:page]).per(20) + @clusters = clusters.page(params[:page]) @active_count = project.clusters.enabled.count @inactive_count = project.clusters.disabled.count @all_count = @active_count + @inactive_count -- cgit v1.2.3