diff options
-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 |