Split create_params and update_params and fix small redirect bug in controller

This commit is contained in:
Kamil Trzcinski 2017-10-05 17:04:35 +02:00
parent aba71835f3
commit 0ca9ea6e7f
1 changed files with 20 additions and 13 deletions

View File

@ -6,6 +6,14 @@ class Projects::ClustersController < Projects::ApplicationController
before_action :authorize_update_cluster!, only: [:update] before_action :authorize_update_cluster!, only: [:update]
before_action :authorize_admin_cluster!, only: [:destroy] 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 def login
begin begin
@authorize_url = GoogleApi::CloudPlatform::Client.new( @authorize_url = GoogleApi::CloudPlatform::Client.new(
@ -16,25 +24,17 @@ class Projects::ClustersController < Projects::ApplicationController
end end
end end
def index
if project.cluster
redirect_to project_cluster_path(project, project.cluster)
else
redirect_to new_project_cluster_path(project)
end
end
def new def new
@cluster = project.build_cluster @cluster = project.build_cluster
end end
def create def create
@cluster = Ci::CreateClusterService @cluster = Ci::CreateClusterService
.new(project, current_user, cluster_params) .new(project, current_user, create_params)
.execute(token_in_session) .execute(token_in_session)
if @cluster.persisted? if @cluster.persisted?
redirect_to project_clusters_path(project) redirect_to project_cluster_path(project, @cluster)
else else
render :new render :new
end end
@ -57,7 +57,7 @@ class Projects::ClustersController < Projects::ApplicationController
def update def update
Ci::UpdateClusterService Ci::UpdateClusterService
.new(project, current_user, cluster_params) .new(project, current_user, update_params)
.execute(cluster) .execute(cluster)
if cluster.valid? if cluster.valid?
@ -84,8 +84,9 @@ class Projects::ClustersController < Projects::ApplicationController
@cluster ||= project.cluster @cluster ||= project.cluster
end end
def cluster_params def create_params
params.require(:cluster).permit(:gcp_project_id, params.require(:cluster).permit(
:gcp_project_id,
:gcp_cluster_zone, :gcp_cluster_zone,
:gcp_cluster_name, :gcp_cluster_name,
:gcp_cluster_size, :gcp_cluster_size,
@ -94,6 +95,12 @@ class Projects::ClustersController < Projects::ApplicationController
:enabled) :enabled)
end end
def update_params
params.require(:cluster).permit(
:project_namespace,
:enabled)
end
def authorize_google_api def authorize_google_api
unless GoogleApi::CloudPlatform::Client.new(token_in_session, nil) unless GoogleApi::CloudPlatform::Client.new(token_in_session, nil)
.validate_token(expires_at_in_session) .validate_token(expires_at_in_session)