diff options
author | Shinya Maeda <shinya@gitlab.com> | 2017-08-17 01:11:35 +0900 |
---|---|---|
committer | Shinya Maeda <shinya@gitlab.com> | 2017-08-17 01:11:35 +0900 |
commit | 0789741f07e2772e1cb85e2d527e004d25e1e0a5 (patch) | |
tree | 859a41ca9296f1bffe24041b72fe0e6158c88152 | |
parent | 808883bf2299ad72646fa9da25916937aad2056c (diff) | |
download | gitlab-ce-feature/sm/2425-bkocked-user-can-not-create-pipeline.tar.gz |
Use GlobalPolicyfeature/sm/2425-bkocked-user-can-not-create-pipeline
-rw-r--r-- | app/policies/global_policy.rb | 3 | ||||
-rw-r--r-- | app/services/ci/create_pipeline_service.rb | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/app/policies/global_policy.rb b/app/policies/global_policy.rb index 1be7bbe9953..f6e6756e5e6 100644 --- a/app/policies/global_policy.rb +++ b/app/policies/global_policy.rb @@ -18,6 +18,7 @@ class GlobalPolicy < BasePolicy prevent :receive_notifications prevent :use_quick_actions prevent :create_group + prevent :create_pipeline end rule { default }.policy do @@ -26,6 +27,7 @@ class GlobalPolicy < BasePolicy enable :access_git enable :receive_notifications enable :use_quick_actions + enable :create_pipeline end rule { blocked | internal }.policy do @@ -34,6 +36,7 @@ class GlobalPolicy < BasePolicy prevent :access_git prevent :receive_notifications prevent :use_quick_actions + prevent :create_pipeline end rule { can_create_group }.policy do diff --git a/app/services/ci/create_pipeline_service.rb b/app/services/ci/create_pipeline_service.rb index 149ccea3f53..eec01afc9a2 100644 --- a/app/services/ci/create_pipeline_service.rb +++ b/app/services/ci/create_pipeline_service.rb @@ -47,7 +47,7 @@ module Ci private def validate(triggering_user, ignore_skip_ci:, save_on_errors:) - if current_user&.blocked? + unless can?(current_user, :create_pipeline) return error('Blocked user can not create a new pipeline') end |