Files
gitlabhq/app/controllers/admin/runner_projects_controller.rb
T
Lin Jen-Shin 95c99cd4fd Admin should be able to turn shared runners into specific ones:
The regression was introduced by:

https://gitlab.com/gitlab-org/gitlab-ce/commit/1b8f52d9206bdf19c0dde04505c4c0b1cf46cfbe

I did that because there's a test specifying that a shared runner cannot
be enabled, in the API. So I assume that is the case for non-admin, but
admins should be able to do so anyway.

Also added a test to make sure this won't regress again.

Closes #19039
2016-06-28 13:46:47 +08:00

35 lines
811 B
Ruby

class Admin::RunnerProjectsController < Admin::ApplicationController
before_action :project, only: [:create]
def create
@runner = Ci::Runner.find(params[:runner_project][:runner_id])
return head(403) if @runner.locked?
runner_project = @runner.assign_to(@project, current_user)
if runner_project.persisted?
redirect_to admin_runner_path(@runner)
else
redirect_to admin_runner_path(@runner), alert: 'Failed adding runner to project'
end
end
def destroy
rp = Ci::RunnerProject.find(params[:id])
runner = rp.runner
rp.destroy
redirect_to admin_runner_path(runner)
end
private
def project
@project = Project.find_with_namespace(
[params[:namespace_id], '/', params[:project_id]].join('')
)
@project || render_404
end
end