36 lines
1.2 KiB
Ruby
36 lines
1.2 KiB
Ruby
class Projects::CiSettingsController < Projects::ApplicationController
|
|
before_action :ci_project
|
|
before_action :authorize_admin_project!
|
|
|
|
layout "project_settings"
|
|
|
|
def edit
|
|
end
|
|
|
|
def update
|
|
if ci_project.update_attributes(project_params)
|
|
Ci::EventService.new.change_project_settings(current_user, ci_project)
|
|
|
|
redirect_to edit_namespace_project_ci_settings_path(project.namespace, project), notice: 'Project was successfully updated.'
|
|
else
|
|
render action: "edit"
|
|
end
|
|
end
|
|
|
|
def destroy
|
|
ci_project.destroy
|
|
Ci::EventService.new.remove_project(current_user, ci_project)
|
|
project.gitlab_ci_service.update_attributes(active: false)
|
|
|
|
redirect_to project_path(project), notice: "CI was disabled for this project"
|
|
end
|
|
|
|
protected
|
|
|
|
def project_params
|
|
params.require(:project).permit(:path, :timeout, :timeout_in_minutes, :default_ref, :always_build,
|
|
:polling_interval, :public, :ssh_url_to_repo, :allow_git_fetch, :email_recipients,
|
|
:email_add_pusher, :email_only_broken_builds, :coverage_regex, :shared_runners_enabled, :token,
|
|
{ variables_attributes: [:id, :key, :value, :_destroy] })
|
|
end
|
|
end
|