diff options
author | Andrew Fontaine <afontaine@gitlab.com> | 2019-01-25 13:26:52 -0500 |
---|---|---|
committer | Andrew Fontaine <afontaine@gitlab.com> | 2019-01-25 13:26:52 -0500 |
commit | ff63a50d6414fb935a2af78a2a639f1147b8073c (patch) | |
tree | 52d1130aafd49ae80f3ef3d93476fed225a180bc | |
parent | c8493b507786f236713f01162be7744ec5859c0d (diff) | |
download | gitlab-ce-56469-releases-is-not-shown-in-sidebar-when-a-user-is-guest.tar.gz |
Move Authorization Checks to Their Own Function56469-releases-is-not-shown-in-sidebar-when-a-user-is-guest
This improves readability, and allows for better encapsulation.
-rw-r--r-- | app/helpers/projects_helper.rb | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index 9d8c62bc2a1..ce425109133 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -293,9 +293,9 @@ module ProjectsHelper def get_project_nav_tabs(project, current_user) nav_tabs = [:home] - if !project.empty_repo? && can?(current_user, :download_code, project) - nav_tabs << [:files, :commits, :network, :graphs, :forks] - end + nav_tabs << [:files, :commits, :network, :graphs, :forks] if can_download_code?(project, current_user) + + nav_tabs << :releases if can_read_release?(project, current_user) if project.repo_exists? && can?(current_user, :read_merge_request, project) nav_tabs << :merge_requests @@ -322,9 +322,15 @@ module ProjectsHelper nav_tabs.flatten end - def get_project_nav_tab_abilities(project, current_user, nav_tabs) - nav_tabs << :releases if !project.empty_repo? && can?(current_user, :read_release, project) + def can_download_code?(project, current_user) + !project.empty_repo? && can?(current_user, :download_code, project) + end + def can_read_release?(project, current_user) + !project.empty_repo? && can?(current_user, :read_release, project) + end + + def get_project_nav_tab_abilities(project, current_user, nav_tabs) tab_ability_map.each do |tab, ability| if can?(current_user, ability, project) nav_tabs << tab |