diff options
author | Kamil Trzciński <ayufan@ayufan.eu> | 2018-10-23 13:58:41 +0300 |
---|---|---|
committer | Kamil Trzciński <ayufan@ayufan.eu> | 2018-11-05 17:51:57 +0300 |
commit | 40397f35771a37a772f86e00d7dc708ddc6d3544 (patch) | |
tree | 0aea3cca4b405fc6fc6624474f5593d7f90b5e57 /app/policies/deployment_policy.rb | |
parent | 90473e064eac21be283e751005e0c7abbdbf9089 (diff) |
Allow to make builds soft-archived.
The soft-archived builds cannot be run after some deadline time.
The intent is to aggressively recycle old builds after sometime.
Diffstat (limited to 'app/policies/deployment_policy.rb')
-rw-r--r-- | app/policies/deployment_policy.rb | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/app/policies/deployment_policy.rb b/app/policies/deployment_policy.rb index 56ac898b6ab..d4f2f3c52b1 100644 --- a/app/policies/deployment_policy.rb +++ b/app/policies/deployment_policy.rb @@ -2,4 +2,13 @@ class DeploymentPolicy < BasePolicy delegate { @subject.project } + + condition(:can_retry_deployable) do + can?(:update_build, @subject.deployable) + end + + rule { ~can_retry_deployable }.policy do + prevent :create_deployment + prevent :update_deployment + end end |