diff options
author | Michael Kozono <mkozono@gmail.com> | 2019-08-26 15:55:32 -0700 |
---|---|---|
committer | Michael Kozono <mkozono@gmail.com> | 2019-08-26 15:55:32 -0700 |
commit | 2a7b1b35ef4e3599823ee3df7a12e49f90b9049e (patch) | |
tree | fabc5b618409ce4657d4a04d743b1d69248268fb | |
parent | 452b5d605c7ef88c8385cb62afcfc78f45ea2d4c (diff) | |
download | gitlab-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.rb | 15 |
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 |