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:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-06-23 20:47:22 +0400
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-06-23 20:47:22 +0400
commit2ed7cbfba4ff3c6a4cf3e72515a0375544998de0 (patch)
treeae6d7530745c80633cd993c99f7820e1452f3e1b /app/controllers/projects/deploy_keys_controller.rb
parent95791316f4037273af7b747ce1851d5f4e46933f (diff)
Move projects controllers/views in Projects module
Diffstat (limited to 'app/controllers/projects/deploy_keys_controller.rb')
-rw-r--r--app/controllers/projects/deploy_keys_controller.rb61
1 files changed, 61 insertions, 0 deletions
diff --git a/app/controllers/projects/deploy_keys_controller.rb b/app/controllers/projects/deploy_keys_controller.rb
new file mode 100644
index 00000000000..0750e0a146f
--- /dev/null
+++ b/app/controllers/projects/deploy_keys_controller.rb
@@ -0,0 +1,61 @@
+class Projects::DeployKeysController < Projects::ApplicationController
+ respond_to :html
+
+ # Authorize
+ before_filter :authorize_admin_project!
+
+ layout "project_settings"
+
+ def index
+ @enabled_keys = @project.deploy_keys.all
+ @available_keys = available_keys - @enabled_keys
+ end
+
+ def show
+ @key = @project.deploy_keys.find(params[:id])
+ end
+
+ def new
+ @key = @project.deploy_keys.new
+
+ respond_with(@key)
+ end
+
+ def create
+ @key = DeployKey.new(params[:deploy_key])
+
+ if @key.valid? && @project.deploy_keys << @key
+ redirect_to project_deploy_keys_path(@project)
+ else
+ render "new"
+ end
+ end
+
+ def destroy
+ @key = @project.deploy_keys.find(params[:id])
+ @key.destroy
+
+ respond_to do |format|
+ format.html { redirect_to project_deploy_keys_url }
+ format.js { render nothing: true }
+ end
+ end
+
+ def enable
+ project.deploy_keys << available_keys.find(params[:id])
+
+ redirect_to project_deploy_keys_path(@project)
+ end
+
+ def disable
+ @project.deploy_keys_projects.where(deploy_key_id: params[:id]).last.destroy
+
+ redirect_to project_deploy_keys_path(@project)
+ end
+
+ protected
+
+ def available_keys
+ @available_keys ||= current_user.accessible_deploy_keys
+ end
+end