summaryrefslogtreecommitdiff
path: root/app/helpers/projects_helper.rb
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2015-05-25 10:42:41 -0400
committerStan Hu <stanhu@gmail.com>2015-05-25 16:51:04 -0700
commit9bcd36396b9b71467f66dd4ed79ab709bb5d027a (patch)
tree39d444294c96393beaccdd8dc0acebb4c62a6541 /app/helpers/projects_helper.rb
parentbdf7b44ac36809383431d439c343b313fc7b1d90 (diff)
downloadgitlab-ce-9bcd36396b9b71467f66dd4ed79ab709bb5d027a.tar.gz
Refactor permission checks to use `can?` instead of `issues_enabled` and `merge_requests_enabled`
Diffstat (limited to 'app/helpers/projects_helper.rb')
-rw-r--r--app/helpers/projects_helper.rb16
1 files changed, 12 insertions, 4 deletions
diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb
index 96d2606f1a1..f8df39d236a 100644
--- a/app/helpers/projects_helper.rb
+++ b/app/helpers/projects_helper.rb
@@ -148,7 +148,7 @@ module ProjectsHelper
nav_tabs << [:files, :commits, :network, :graphs]
end
- if project.repo_exists? && project.merge_requests_enabled
+ if project.repo_exists? && can?(current_user, :read_merge_request, project)
nav_tabs << :merge_requests
end
@@ -156,11 +156,19 @@ module ProjectsHelper
nav_tabs << :settings
end
- [:issues, :wiki, :snippets].each do |feature|
- nav_tabs << feature if project.send :"#{feature}_enabled"
+ if can?(current_user, :read_issue, project)
+ nav_tabs << :issues
end
- if project.issues_enabled || project.merge_requests_enabled
+ if can?(current_user, :read_wiki, project)
+ nav_tabs << :wiki
+ end
+
+ if can?(current_user, :read_project_snippet, project)
+ nav_tabs << :snippets
+ end
+
+ if can?(current_user, :read_milestone, project)
nav_tabs << [:milestones, :labels]
end