247 lines
11 KiB
Text
247 lines
11 KiB
Text
.nav-sidebar
|
|
- can_edit = can?(current_user, :admin_project, @project)
|
|
= link_to project_path(@project), title: 'Project', class: 'context-header' do
|
|
.avatar-container.s40.project-avatar
|
|
= project_icon(@project, alt: @project.name, class: 'avatar s40 avatar-tile')
|
|
.project-title
|
|
= @project.name
|
|
%ul.sidebar-top-level-items
|
|
= nav_link(path: ['projects#show', 'projects#activity', 'cycle_analytics#show'], html_options: { class: 'home' }) do
|
|
= link_to project_path(@project), title: 'Project', class: 'shortcuts-project' do
|
|
%span
|
|
Project
|
|
|
|
%ul.sidebar-sub-level-items
|
|
= nav_link(path: 'projects#show') do
|
|
= link_to project_path(@project), title: _('Project home'), class: 'shortcuts-project' do
|
|
%span= _('Home')
|
|
|
|
= nav_link(path: 'projects#activity') do
|
|
= link_to activity_project_path(@project), title: _('Activity'), class: 'shortcuts-project-activity' do
|
|
%span= _('Activity')
|
|
|
|
- if can?(current_user, :read_cycle_analytics, @project)
|
|
= nav_link(path: 'cycle_analytics#show') do
|
|
= link_to project_cycle_analytics_path(@project), title: _('Cycle Analytics'), class: 'shortcuts-project-cycle-analytics' do
|
|
%span= _('Cycle Analytics')
|
|
|
|
- if project_nav_tab? :files
|
|
= nav_link(controller: %w(tree blob blame edit_tree new_tree find_file commit commits compare projects/repositories tags branches releases graphs network)) do
|
|
= link_to project_files_path(@project), title: 'Repository', class: 'shortcuts-tree' do
|
|
%span
|
|
Repository
|
|
|
|
%ul.sidebar-sub-level-items
|
|
= nav_link(controller: %w(tree blob blame edit_tree new_tree find_file)) do
|
|
= link_to project_files_path(@project) do
|
|
#{ _('Files') }
|
|
|
|
= nav_link(controller: [:commit, :commits]) do
|
|
= link_to namespace_project_commits_path(@project.namespace, @project, current_ref) do
|
|
#{ _('Commits') }
|
|
|
|
= nav_link(html_options: {class: branches_tab_class}) do
|
|
= link_to namespace_project_branches_path(@project.namespace, @project) do
|
|
#{ _('Branches') }
|
|
|
|
= nav_link(controller: [:tags, :releases]) do
|
|
= link_to namespace_project_tags_path(@project.namespace, @project) do
|
|
#{ _('Tags') }
|
|
|
|
= nav_link(path: 'graphs#show') do
|
|
= link_to namespace_project_graph_path(@project.namespace, @project, current_ref) do
|
|
#{ _('Contributors') }
|
|
|
|
= nav_link(controller: %w(network)) do
|
|
= link_to namespace_project_network_path(@project.namespace, @project, current_ref) do
|
|
#{ s_('ProjectNetworkGraph|Graph') }
|
|
|
|
= nav_link(controller: :compare) do
|
|
= link_to namespace_project_compare_index_path(@project.namespace, @project, from: @repository.root_ref, to: current_ref) do
|
|
#{ _('Compare') }
|
|
|
|
= nav_link(path: 'graphs#charts') do
|
|
= link_to charts_namespace_project_graph_path(@project.namespace, @project, current_ref) do
|
|
#{ _('Charts') }
|
|
|
|
- if project_nav_tab? :container_registry
|
|
= nav_link(controller: %w[projects/registry/repositories]) do
|
|
= link_to project_container_registry_path(@project), title: 'Container Registry', class: 'shortcuts-container-registry' do
|
|
%span
|
|
Registry
|
|
|
|
- if project_nav_tab? :issues
|
|
= nav_link(controller: @project.default_issues_tracker? ? [:issues, :labels, :milestones, :boards] : :issues) do
|
|
= link_to namespace_project_issues_path(@project.namespace, @project), title: 'Issues', class: 'shortcuts-issues' do
|
|
%span
|
|
Issues
|
|
- if @project.default_issues_tracker?
|
|
%span.badge.count.issue_counter= number_with_delimiter(IssuesFinder.new(current_user, project_id: @project.id).execute.opened.count)
|
|
|
|
%ul.sidebar-sub-level-items
|
|
- if project_nav_tab?(:issues) && !current_controller?(:merge_requests)
|
|
= nav_link(controller: :issues) do
|
|
= link_to namespace_project_issues_path(@project.namespace, @project), title: 'Issues' do
|
|
%span
|
|
List
|
|
|
|
= nav_link(controller: :boards) do
|
|
= link_to namespace_project_boards_path(@project.namespace, @project), title: 'Board' do
|
|
%span
|
|
Board
|
|
|
|
- if project_nav_tab?(:merge_requests) && current_controller?(:merge_requests)
|
|
= nav_link(controller: :merge_requests) do
|
|
= link_to namespace_project_merge_requests_path(@project.namespace, @project), title: 'Merge Requests' do
|
|
%span
|
|
Merge Requests
|
|
|
|
- if project_nav_tab? :labels
|
|
= nav_link(controller: :labels) do
|
|
= link_to namespace_project_labels_path(@project.namespace, @project), title: 'Labels' do
|
|
%span
|
|
Labels
|
|
|
|
- if project_nav_tab? :milestones
|
|
= nav_link(controller: :milestones) do
|
|
= link_to namespace_project_milestones_path(@project.namespace, @project), title: 'Milestones' do
|
|
%span
|
|
Milestones
|
|
|
|
- if project_nav_tab? :merge_requests
|
|
= nav_link(controller: @project.default_issues_tracker? ? :merge_requests : [:merge_requests, :labels, :milestones]) do
|
|
= link_to namespace_project_merge_requests_path(@project.namespace, @project), title: 'Merge Requests', class: 'shortcuts-merge_requests' do
|
|
%span
|
|
Merge Requests
|
|
%span.badge.count.merge_counter.js-merge-counter= number_with_delimiter(MergeRequestsFinder.new(current_user, project_id: @project.id).execute.opened.count)
|
|
|
|
- if project_nav_tab? :pipelines
|
|
= nav_link(controller: [:pipelines, :builds, :jobs, :pipeline_schedules, :environments, :artifacts]) do
|
|
= link_to project_pipelines_path(@project), title: 'Pipelines', class: 'shortcuts-pipelines' do
|
|
%span
|
|
Pipelines
|
|
|
|
%ul.sidebar-sub-level-items
|
|
- if project_nav_tab? :pipelines
|
|
= nav_link(path: ['pipelines#index', 'pipelines#show']) do
|
|
= link_to project_pipelines_path(@project), title: 'Pipelines', class: 'shortcuts-pipelines' do
|
|
%span
|
|
Pipelines
|
|
|
|
- if project_nav_tab? :builds
|
|
= nav_link(controller: [:jobs, :artifacts]) do
|
|
= link_to project_jobs_path(@project), title: 'Jobs', class: 'shortcuts-builds' do
|
|
%span
|
|
Jobs
|
|
|
|
- if project_nav_tab? :pipelines
|
|
= nav_link(controller: :pipeline_schedules) do
|
|
= link_to pipeline_schedules_path(@project), title: 'Schedules', class: 'shortcuts-builds' do
|
|
%span
|
|
Schedules
|
|
|
|
- if project_nav_tab? :environments
|
|
= nav_link(controller: :environments) do
|
|
= link_to project_environments_path(@project), title: 'Environments', class: 'shortcuts-environments' do
|
|
%span
|
|
Environments
|
|
|
|
- if @project.feature_available?(:builds, current_user) && !@project.empty_repo?
|
|
= nav_link(path: 'pipelines#charts') do
|
|
= link_to charts_namespace_project_pipelines_path(@project.namespace, @project), title: 'Charts', class: 'shortcuts-pipelines-charts' do
|
|
%span
|
|
Charts
|
|
|
|
- if project_nav_tab? :wiki
|
|
= nav_link(controller: :wikis) do
|
|
= link_to get_project_wiki_path(@project), title: 'Wiki', class: 'shortcuts-wiki' do
|
|
%span
|
|
Wiki
|
|
|
|
- if project_nav_tab? :snippets
|
|
= nav_link(controller: :snippets) do
|
|
= link_to namespace_project_snippets_path(@project.namespace, @project), title: 'Snippets', class: 'shortcuts-snippets' do
|
|
%span
|
|
Snippets
|
|
|
|
- if project_nav_tab? :settings
|
|
= nav_link(path: %w[projects#edit members#show integrations#show services#edit repository#show ci_cd#show pages#show]) do
|
|
= link_to edit_project_path(@project), title: 'Settings', class: 'shortcuts-tree' do
|
|
%span
|
|
Settings
|
|
|
|
%ul.sidebar-sub-level-items
|
|
- can_edit = can?(current_user, :admin_project, @project)
|
|
- if can_edit
|
|
= nav_link(controller: :projects) do
|
|
= link_to edit_project_path(@project), title: 'General' do
|
|
%span
|
|
General
|
|
= nav_link(controller: :members) do
|
|
= link_to project_settings_members_path(@project), title: 'Members' do
|
|
%span
|
|
Members
|
|
- if can_edit
|
|
= nav_link(controller: [:integrations, :services, :hooks, :hook_logs]) do
|
|
= link_to project_settings_integrations_path(@project), title: 'Integrations' do
|
|
%span
|
|
Integrations
|
|
= nav_link(controller: :repository) do
|
|
= link_to namespace_project_settings_repository_path(@project.namespace, @project), title: 'Repository' do
|
|
%span
|
|
Repository
|
|
- if @project.feature_available?(:builds, current_user)
|
|
= nav_link(controller: :ci_cd) do
|
|
= link_to namespace_project_settings_ci_cd_path(@project.namespace, @project), title: 'Pipelines' do
|
|
%span
|
|
Pipelines
|
|
- if Gitlab.config.pages.enabled
|
|
= nav_link(controller: :pages) do
|
|
= link_to namespace_project_pages_path(@project.namespace, @project), title: 'Pages' do
|
|
%span
|
|
Pages
|
|
|
|
- else
|
|
= nav_link(path: %w[members#show]) do
|
|
= link_to namespace_project_settings_members_path(@project.namespace, @project), title: 'Settings', class: 'shortcuts-tree' do
|
|
%span
|
|
Settings
|
|
|
|
-# Shortcut to Project > Activity
|
|
%li.hidden
|
|
= link_to activity_project_path(@project), title: 'Activity', class: 'shortcuts-project-activity' do
|
|
%span
|
|
Activity
|
|
|
|
-# Shortcut to Repository > Graph (formerly, Network)
|
|
- if project_nav_tab? :network
|
|
%li.hidden
|
|
= link_to namespace_project_network_path(@project.namespace, @project, current_ref), title: 'Network', class: 'shortcuts-network' do
|
|
Graph
|
|
|
|
-# Shortcut to Repository > Charts (formerly, top-nav item "Graphs")
|
|
- unless @project.empty_repo?
|
|
%li.hidden
|
|
= link_to charts_namespace_project_graph_path(@project.namespace, @project, current_ref), title: 'Charts', class: 'shortcuts-repository-charts' do
|
|
Charts
|
|
|
|
-# Shortcut to Issues > New Issue
|
|
%li.hidden
|
|
= link_to new_namespace_project_issue_path(@project.namespace, @project), class: 'shortcuts-new-issue' do
|
|
Create a new issue
|
|
|
|
-# Shortcut to Pipelines > Jobs
|
|
- if project_nav_tab? :builds
|
|
%li.hidden
|
|
= link_to project_jobs_path(@project), title: 'Jobs', class: 'shortcuts-builds' do
|
|
Jobs
|
|
|
|
-# Shortcut to commits page
|
|
- if project_nav_tab? :commits
|
|
%li.hidden
|
|
= link_to project_commits_path(@project), title: 'Commits', class: 'shortcuts-commits' do
|
|
Commits
|
|
|
|
-# Shortcut to issue boards
|
|
%li.hidden
|
|
= link_to 'Issue Boards', namespace_project_boards_path(@project.namespace, @project), title: 'Issue Boards', class: 'shortcuts-issue-boards'
|