Commit 8f8a223d authored by Grzegorz Bizon's avatar Grzegorz Bizon

Merge branch 'remove-cancel-all-button-in-job-list-view' into 'master'

Remove cancel all jobs button in general jobs list view

Closes #34665

See merge request gitlab-org/gitlab-ce!24010
parents 2abbfda3 77662157
...@@ -4,10 +4,10 @@ class Projects::JobsController < Projects::ApplicationController ...@@ -4,10 +4,10 @@ class Projects::JobsController < Projects::ApplicationController
include SendFileUpload include SendFileUpload
include ContinueParams include ContinueParams
before_action :build, except: [:index, :cancel_all] before_action :build, except: [:index]
before_action :authorize_read_build! before_action :authorize_read_build!
before_action :authorize_update_build!, before_action :authorize_update_build!,
except: [:index, :show, :status, :raw, :trace, :cancel_all, :erase] except: [:index, :show, :status, :raw, :trace, :erase]
before_action :authorize_erase_build!, only: [:erase] before_action :authorize_erase_build!, only: [:erase]
before_action :authorize_use_build_terminal!, only: [:terminal, :terminal_websocket_authorize] before_action :authorize_use_build_terminal!, only: [:terminal, :terminal_websocket_authorize]
before_action :verify_api_request!, only: :terminal_websocket_authorize before_action :verify_api_request!, only: :terminal_websocket_authorize
...@@ -39,16 +39,6 @@ class Projects::JobsController < Projects::ApplicationController ...@@ -39,16 +39,6 @@ class Projects::JobsController < Projects::ApplicationController
end end
# rubocop: enable CodeReuse/ActiveRecord # rubocop: enable CodeReuse/ActiveRecord
def cancel_all
return access_denied! unless can?(current_user, :update_build, project)
@project.builds.running_or_pending.each do |build|
build.cancel if can?(current_user, :update_build, build)
end
redirect_to project_jobs_path(project)
end
# rubocop: disable CodeReuse/ActiveRecord # rubocop: disable CodeReuse/ActiveRecord
def show def show
@pipeline = @build.pipeline @pipeline = @build.pipeline
......
...@@ -8,10 +8,6 @@ ...@@ -8,10 +8,6 @@
.nav-controls .nav-controls
- if can?(current_user, :update_build, @project) - if can?(current_user, :update_build, @project)
- if @all_builds.running_or_pending.limit(1).any? # rubocop: disable CodeReuse/ActiveRecord
= link_to 'Cancel running', cancel_all_project_jobs_path(@project),
data: { confirm: 'Are you sure?' }, class: 'btn btn-danger', method: :post
- unless @repository.gitlab_ci_yml - unless @repository.gitlab_ci_yml
= link_to 'Get started with Pipelines', help_page_path('ci/quick_start/README'), class: 'btn btn-info' = link_to 'Get started with Pipelines', help_page_path('ci/quick_start/README'), class: 'btn btn-info'
......
---
title: Remove Cancel all jobs button in general jobs list view
merge_request:
author: Jordi Llull
type: removed
...@@ -256,8 +256,6 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do ...@@ -256,8 +256,6 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
resources :jobs, only: [:index, :show], constraints: { id: /\d+/ } do resources :jobs, only: [:index, :show], constraints: { id: /\d+/ } do
collection do collection do
post :cancel_all
resources :artifacts, only: [] do resources :artifacts, only: [] do
collection do collection do
get :latest_succeeded, get :latest_succeeded,
......
...@@ -770,50 +770,6 @@ describe Projects::JobsController, :clean_gitlab_redis_shared_state do ...@@ -770,50 +770,6 @@ describe Projects::JobsController, :clean_gitlab_redis_shared_state do
end end
end end
describe 'POST cancel_all' do
before do
project.add_developer(user)
sign_in(user)
end
context 'when jobs are cancelable' do
before do
create_list(:ci_build, 2, :cancelable, pipeline: pipeline)
post_cancel_all
end
it 'redirects to a index page' do
expect(response).to have_gitlab_http_status(:found)
expect(response).to redirect_to(namespace_project_jobs_path)
end
it 'transits to canceled' do
expect(Ci::Build.all).to all(be_canceled)
end
end
context 'when jobs are not cancelable' do
before do
create_list(:ci_build, 2, :canceled, pipeline: pipeline)
post_cancel_all
end
it 'redirects to a index page' do
expect(response).to have_gitlab_http_status(:found)
expect(response).to redirect_to(namespace_project_jobs_path)
end
end
def post_cancel_all
post :cancel_all, params: {
namespace_id: project.namespace,
project_id: project
}
end
end
describe 'POST erase' do describe 'POST erase' do
let(:role) { :maintainer } let(:role) { :maintainer }
......
...@@ -28,7 +28,6 @@ describe 'Jobs', :clean_gitlab_redis_shared_state do ...@@ -28,7 +28,6 @@ describe 'Jobs', :clean_gitlab_redis_shared_state do
end end
it "shows Pending tab jobs" do it "shows Pending tab jobs" do
expect(page).to have_link 'Cancel running'
expect(page).to have_selector('.nav-links li.active', text: 'Pending') expect(page).to have_selector('.nav-links li.active', text: 'Pending')
expect(page).to have_content job.short_sha expect(page).to have_content job.short_sha
expect(page).to have_content job.ref expect(page).to have_content job.ref
...@@ -44,7 +43,6 @@ describe 'Jobs', :clean_gitlab_redis_shared_state do ...@@ -44,7 +43,6 @@ describe 'Jobs', :clean_gitlab_redis_shared_state do
it "shows Running tab jobs" do it "shows Running tab jobs" do
expect(page).to have_selector('.nav-links li.active', text: 'Running') expect(page).to have_selector('.nav-links li.active', text: 'Running')
expect(page).to have_link 'Cancel running'
expect(page).to have_content job.short_sha expect(page).to have_content job.short_sha
expect(page).to have_content job.ref expect(page).to have_content job.ref
expect(page).to have_content job.name expect(page).to have_content job.name
...@@ -60,7 +58,6 @@ describe 'Jobs', :clean_gitlab_redis_shared_state do ...@@ -60,7 +58,6 @@ describe 'Jobs', :clean_gitlab_redis_shared_state do
it "shows Finished tab jobs" do it "shows Finished tab jobs" do
expect(page).to have_selector('.nav-links li.active', text: 'Finished') expect(page).to have_selector('.nav-links li.active', text: 'Finished')
expect(page).to have_content 'No jobs to show' expect(page).to have_content 'No jobs to show'
expect(page).to have_link 'Cancel running'
end end
end end
...@@ -75,7 +72,6 @@ describe 'Jobs', :clean_gitlab_redis_shared_state do ...@@ -75,7 +72,6 @@ describe 'Jobs', :clean_gitlab_redis_shared_state do
expect(page).to have_content job.short_sha expect(page).to have_content job.short_sha
expect(page).to have_content job.ref expect(page).to have_content job.ref
expect(page).to have_content job.name expect(page).to have_content job.name
expect(page).not_to have_link 'Cancel running'
end end
end end
...@@ -94,23 +90,6 @@ describe 'Jobs', :clean_gitlab_redis_shared_state do ...@@ -94,23 +90,6 @@ describe 'Jobs', :clean_gitlab_redis_shared_state do
end end
end end
describe "POST /:project/jobs/:id/cancel_all" do
before do
job.run!
visit project_jobs_path(project)
click_link "Cancel running"
end
it 'shows all necessary content' do
expect(page).to have_selector('.nav-links li.active', text: 'All')
expect(page).to have_content 'canceled'
expect(page).to have_content job.short_sha
expect(page).to have_content job.ref
expect(page).to have_content job.name
expect(page).not_to have_link 'Cancel running'
end
end
describe "GET /:project/jobs/:id" do describe "GET /:project/jobs/:id" do
context "Job from project" do context "Job from project" do
let(:job) { create(:ci_build, :success, :trace_live, pipeline: pipeline) } let(:job) { create(:ci_build, :success, :trace_live, pipeline: pipeline) }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment