diff options
author | Jose Ivan Vargas <jvargas@gitlab.com> | 2017-01-24 03:28:40 +0300 |
---|---|---|
committer | Jose Ivan Vargas <jvargas@gitlab.com> | 2017-03-06 18:47:43 +0300 |
commit | 0b74ae849d3f87564e789673ecf67aa54ec7cd8a (patch) | |
tree | 2bf4220555d8953d16cbc378923f4edf8617bdb3 /app/controllers/projects | |
parent | c51d72036698c6d53602c58f09d5ddd3ed8d225b (diff) |
Created the gear settings entry and created a way to initialize both sections with one controller
Changed views to partials, created the repository view,
created a repository_helper to further aid the creation of variables
across different controllers
Diffstat (limited to 'app/controllers/projects')
3 files changed, 42 insertions, 10 deletions
diff --git a/app/controllers/projects/deploy_keys_controller.rb b/app/controllers/projects/deploy_keys_controller.rb index b094491e006..07410afd99a 100644 --- a/app/controllers/projects/deploy_keys_controller.rb +++ b/app/controllers/projects/deploy_keys_controller.rb @@ -7,12 +7,11 @@ class Projects::DeployKeysController < Projects::ApplicationController layout "project_settings" def index - @key = DeployKey.new - set_index_vars + redirect_to namespace_project_settings_repository_path(@project.namespace, @project) end def new - redirect_to namespace_project_deploy_keys_path(@project.namespace, @project) + redirect_to namespace_project_settings_repository_path(@project.namespace, @project) end def create @@ -20,7 +19,7 @@ class Projects::DeployKeysController < Projects::ApplicationController set_index_vars if @key.valid? && @project.deploy_keys << @key - redirect_to namespace_project_deploy_keys_path(@project.namespace, @project) + redirect_to namespace_project_settings_repository_path(@project.namespace, @project) else render "index" end @@ -29,7 +28,7 @@ class Projects::DeployKeysController < Projects::ApplicationController def enable Projects::EnableDeployKeyService.new(@project, current_user, params).execute - redirect_to namespace_project_deploy_keys_path(@project.namespace, @project) + redirect_to namespace_project_settings_repository_path(@project.namespace, @project) end def disable diff --git a/app/controllers/projects/protected_branches_controller.rb b/app/controllers/projects/protected_branches_controller.rb index 2f422d352ed..18d25f91c96 100644 --- a/app/controllers/projects/protected_branches_controller.rb +++ b/app/controllers/projects/protected_branches_controller.rb @@ -8,14 +8,13 @@ class Projects::ProtectedBranchesController < Projects::ApplicationController layout "project_settings" def index - @protected_branch = @project.protected_branches.new - load_gon_index + redirect_to namespace_project_settings_repository_path(@project.namespace, @project) end def create @protected_branch = ::ProtectedBranches::CreateService.new(@project, current_user, protected_branch_params).execute if @protected_branch.persisted? - redirect_to namespace_project_protected_branches_path(@project.namespace, @project) + redirect_to namespace_project_settings_repository_path(@project.namespace, @project) else load_protected_branches load_gon_index @@ -45,7 +44,7 @@ class Projects::ProtectedBranchesController < Projects::ApplicationController @protected_branch.destroy respond_to do |format| - format.html { redirect_to namespace_project_protected_branches_path } + format.html { redirect_to namespace_project_settings_repository_path } format.js { head :ok } end end diff --git a/app/controllers/projects/settings/repository_controller.rb b/app/controllers/projects/settings/repository_controller.rb index 1c2eab682e0..3b04eb04ae0 100644 --- a/app/controllers/projects/settings/repository_controller.rb +++ b/app/controllers/projects/settings/repository_controller.rb @@ -1,8 +1,42 @@ module Projects module Settings class RepositoryController < Projects::ApplicationController + include RepositoryHelper + + before_action :authorize_admin_project! + before_action :load_protected_branches, only: [:show] + def show - + define_deploy_keys_variables + define_protected_branches_controller + end + + def load_protected_branches + @protected_branches = @project.protected_branches.order(:name).page(params[:page]) + end + + def set_index_vars + @enabled_keys ||= @project.deploy_keys + + @available_keys ||= current_user.accessible_deploy_keys - @enabled_keys + @available_project_keys ||= current_user.project_deploy_keys - @enabled_keys + @available_public_keys ||= DeployKey.are_public - @enabled_keys + + # Public keys that are already used by another accessible project are already + # in @available_project_keys. + @available_public_keys -= @available_project_keys + end + + private + + def define_deploy_keys_variables + @key = DeployKey.new + set_index_vars + end + + def define_protected_branches_controller + @protected_branch = @project.protected_branches.new + load_gon_index(@project) end end end |