diff options
author | Stan Hu <stanhu@gmail.com> | 2015-05-25 10:42:41 -0400 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2015-05-25 16:51:04 -0700 |
commit | 9bcd36396b9b71467f66dd4ed79ab709bb5d027a (patch) | |
tree | 39d444294c96393beaccdd8dc0acebb4c62a6541 /app/helpers | |
parent | bdf7b44ac36809383431d439c343b313fc7b1d90 (diff) | |
download | gitlab-ce-9bcd36396b9b71467f66dd4ed79ab709bb5d027a.tar.gz |
Refactor permission checks to use `can?` instead of `issues_enabled` and `merge_requests_enabled`
Diffstat (limited to 'app/helpers')
-rw-r--r-- | app/helpers/projects_helper.rb | 16 |
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 |