2016-06-16 23:09:34 +05:30
|
|
|
- if current_user
|
|
|
|
.controls
|
|
|
|
.dropdown.project-settings-dropdown
|
|
|
|
%a.dropdown-new.btn.btn-default#project-settings-button{href: '#', 'data-toggle' => 'dropdown'}
|
|
|
|
= icon('cog')
|
|
|
|
= icon('caret-down')
|
|
|
|
%ul.dropdown-menu.dropdown-menu-align-right
|
|
|
|
- can_edit = can?(current_user, :admin_project, @project)
|
2016-08-24 12:49:21 +05:30
|
|
|
-# We don't use @project.team.find_member because it searches for group members too...
|
|
|
|
- member = @project.members.find_by(user_id: current_user.id)
|
|
|
|
- can_leave = member && can?(current_user, :destroy_project_member, member)
|
2016-06-16 23:09:34 +05:30
|
|
|
|
2016-08-24 12:49:21 +05:30
|
|
|
= render 'layouts/nav/project_settings', can_edit: can_edit
|
2016-06-16 23:09:34 +05:30
|
|
|
|
2016-08-24 12:49:21 +05:30
|
|
|
- if can_edit || can_leave
|
2016-06-16 23:09:34 +05:30
|
|
|
%li.divider
|
|
|
|
- if can_edit
|
|
|
|
%li
|
|
|
|
= link_to edit_project_path(@project) do
|
|
|
|
Edit Project
|
2016-08-24 12:49:21 +05:30
|
|
|
- if can_leave
|
2016-06-16 23:09:34 +05:30
|
|
|
%li
|
|
|
|
= link_to polymorphic_path([:leave, @project, :members]),
|
|
|
|
data: { confirm: leave_confirmation_message(@project) }, method: :delete, title: 'Leave project' do
|
|
|
|
Leave Project
|
|
|
|
|
2016-08-24 12:49:21 +05:30
|
|
|
.scrolling-tabs-container{ class: nav_control_class }
|
|
|
|
.fade-left
|
|
|
|
= icon('angle-left')
|
|
|
|
.fade-right
|
|
|
|
= icon('angle-right')
|
2016-06-16 23:09:34 +05:30
|
|
|
%ul.nav-links.scrolling-tabs
|
|
|
|
= nav_link(path: 'projects#show', html_options: {class: 'home'}) do
|
|
|
|
= link_to project_path(@project), title: 'Project', class: 'shortcuts-project' do
|
|
|
|
%span
|
|
|
|
Project
|
|
|
|
|
|
|
|
= nav_link(path: 'projects#activity') do
|
|
|
|
= link_to activity_project_path(@project), title: 'Activity', class: 'shortcuts-project-activity' do
|
|
|
|
%span
|
|
|
|
Activity
|
|
|
|
|
|
|
|
- if project_nav_tab? :files
|
|
|
|
= nav_link(controller: %w(tree blob blame edit_tree new_tree find_file commit commits compare repositories tags branches releases network)) do
|
2016-06-22 15:30:34 +05:30
|
|
|
= link_to project_files_path(@project), title: 'Repository', class: 'shortcuts-tree' do
|
2016-06-16 23:09:34 +05:30
|
|
|
%span
|
2016-06-22 15:30:34 +05:30
|
|
|
Repository
|
2016-06-16 23:09:34 +05:30
|
|
|
|
|
|
|
- if project_nav_tab? :pipelines
|
2016-09-29 09:46:39 +05:30
|
|
|
= nav_link(controller: [:pipelines, :builds, :environments, :cycle_analytics]) do
|
2016-06-16 23:09:34 +05:30
|
|
|
= link_to project_pipelines_path(@project), title: 'Pipelines', class: 'shortcuts-pipelines' do
|
|
|
|
%span
|
|
|
|
Pipelines
|
|
|
|
|
|
|
|
- if project_nav_tab? :container_registry
|
|
|
|
= nav_link(controller: %w(container_registry)) do
|
|
|
|
= link_to project_container_registry_path(@project), title: 'Container Registry', class: 'shortcuts-container-registry' do
|
|
|
|
%span
|
|
|
|
Registry
|
|
|
|
|
|
|
|
- if project_nav_tab? :graphs
|
|
|
|
= nav_link(controller: %w(graphs)) do
|
|
|
|
= link_to namespace_project_graph_path(@project.namespace, @project, current_ref), title: 'Graphs', class: 'shortcuts-graphs' do
|
|
|
|
%span
|
|
|
|
Graphs
|
|
|
|
|
|
|
|
- if project_nav_tab? :issues
|
2016-09-13 17:45:13 +05:30
|
|
|
= nav_link(controller: [:issues, :labels, :milestones, :boards]) do
|
|
|
|
= link_to namespace_project_issues_path(@project.namespace, @project), title: 'Issues', class: 'shortcuts-issues' do
|
2016-06-16 23:09:34 +05:30
|
|
|
%span
|
|
|
|
Issues
|
|
|
|
- if @project.default_issues_tracker?
|
|
|
|
%span.badge.count.issue_counter= number_with_delimiter(@project.issues.visible_to_user(current_user).opened.count)
|
|
|
|
|
|
|
|
- if project_nav_tab? :merge_requests
|
|
|
|
= nav_link(controller: :merge_requests) 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= number_with_delimiter(@project.merge_requests.opened.count)
|
|
|
|
|
|
|
|
- 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
|
|
|
|
|
|
|
|
-# Global shortcut to network page for compatibility
|
|
|
|
- if project_nav_tab? :network
|
|
|
|
%li.hidden
|
|
|
|
= link_to namespace_project_network_path(@project.namespace, @project, current_ref), title: 'Network', class: 'shortcuts-network' do
|
|
|
|
Network
|
|
|
|
|
|
|
|
-# Shortcut to create a new issue
|
|
|
|
%li.hidden
|
|
|
|
= link_to new_namespace_project_issue_path(@project.namespace, @project), class: 'shortcuts-new-issue' do
|
|
|
|
Create a new issue
|
2016-06-02 11:05:42 +05:30
|
|
|
|
2016-06-16 23:09:34 +05:30
|
|
|
-# Shortcut to builds page
|
|
|
|
- if project_nav_tab? :builds
|
|
|
|
%li.hidden
|
|
|
|
= link_to project_builds_path(@project), title: 'Builds', class: 'shortcuts-builds' do
|
2015-10-24 18:46:33 +05:30
|
|
|
Builds
|
2015-04-26 12:48:37 +05:30
|
|
|
|
2016-06-16 23:09:34 +05:30
|
|
|
-# Shortcut to commits page
|
|
|
|
- if project_nav_tab? :commits
|
|
|
|
%li.hidden
|
|
|
|
= link_to project_commits_path(@project), title: 'Commits', class: 'shortcuts-commits' do
|
|
|
|
Commits
|
2016-09-29 09:46:39 +05:30
|
|
|
|
|
|
|
-# Shortcut to issue boards
|
|
|
|
%li.hidden
|
2016-11-03 12:29:30 +05:30
|
|
|
= link_to 'Issue Boards', namespace_project_boards_path(@project.namespace, @project), title: 'Issue Boards', class: 'shortcuts-issue-boards'
|