summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Kozono <mkozono@gmail.com>2019-08-26 15:55:32 -0700
committerMichael Kozono <mkozono@gmail.com>2019-08-26 15:55:32 -0700
commit2a7b1b35ef4e3599823ee3df7a12e49f90b9049e (patch)
treefabc5b618409ce4657d4a04d743b1d69248268fb
parent452b5d605c7ef88c8385cb62afcfc78f45ea2d4c (diff)
downloadgitlab-ce-mk/dry-up-access-logic.tar.gz
Dry up project access logicmk/dry-up-access-logic
To ensure consistency.
-rw-r--r--app/policies/project_policy.rb15
1 files changed, 1 insertions, 14 deletions
diff --git a/app/policies/project_policy.rb b/app/policies/project_policy.rb
index e2634692dc7..1931006bed3 100644
--- a/app/policies/project_policy.rb
+++ b/app/policies/project_policy.rb
@@ -130,7 +130,7 @@ class ProjectPolicy < BasePolicy
features.each do |f|
# these are scored high because they are unlikely
desc "Project has #{f} disabled"
- condition(:"#{f}_disabled", score: 32) { !feature_available?(f.to_sym) }
+ condition(:"#{f}_disabled", score: 32) { !@subject.feature_available?(f.to_sym, @user) }
end
# `:read_project` may be prevented in EE, but `:read_project_for_iids` should
@@ -501,19 +501,6 @@ class ProjectPolicy < BasePolicy
project.team.max_member_access(@user.id)
end
- def feature_available?(feature)
- return false unless project.project_feature
-
- case project.project_feature.access_level(feature)
- when ProjectFeature::DISABLED
- false
- when ProjectFeature::PRIVATE
- admin? || team_access_level >= ProjectFeature.required_minimum_access_level(feature)
- else
- true
- end
- end
-
def project
@subject
end