diff options
Diffstat (limited to 'app/policies/ci/runner_policy.rb')
-rw-r--r-- | app/policies/ci/runner_policy.rb | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/app/policies/ci/runner_policy.rb b/app/policies/ci/runner_policy.rb index bdbe7021276..6dfe9cc496b 100644 --- a/app/policies/ci/runner_policy.rb +++ b/app/policies/ci/runner_policy.rb @@ -9,6 +9,10 @@ module Ci @user.owns_runner?(@subject) end + condition(:belongs_to_multiple_projects) do + @subject.belongs_to_more_than_one_project? + end + rule { anonymous }.prevent_all rule { admin }.policy do @@ -22,6 +26,8 @@ module Ci enable :delete_runner end + rule { ~admin & belongs_to_multiple_projects }.prevent :delete_runner + rule { ~admin & locked }.prevent :assign_runner end end |