summaryrefslogtreecommitdiff
path: root/app/views/layouts/nav/_project.html.haml
blob: 840777920a5bbdbc89966d346242da9d318950b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
- 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
        - is_project_member = @project.users.exists?(current_user.id)
        - access = @project.team.max_member_access(current_user.id)
        - can_edit = can?(current_user, :admin_project, @project)

        = render 'layouts/nav/project_settings', access: access, can_edit: can_edit

        - if can_edit || is_project_member
          %li.divider
          - if can_edit
            %li
              = link_to edit_project_path(@project) do
                Edit Project
          - if is_project_member
            %li
              = link_to polymorphic_path([:leave, @project, :members]),
                data: { confirm: leave_confirmation_message(@project) }, method: :delete, title: 'Leave project' do
                Leave Project

%div{ class: nav_control_class }
  %ul.nav-links.scrolling-tabs
    .fade-left
      = icon('arrow-left')
    = 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
        = link_to project_files_path(@project), title: 'Code',  class: 'shortcuts-tree' do
          %span
            Code

    - if project_nav_tab? :pipelines
      = nav_link(controller: [:pipelines, :builds, :environments]) do
        = 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
      = nav_link(controller: [:issues, :labels, :milestones]) do
        = link_to url_for_project_issues(@project, only_path: true), title: 'Issues', class: 'shortcuts-issues' do
          %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

    -# Shortcut to builds page
    - if project_nav_tab? :builds
      %li.hidden
        = link_to project_builds_path(@project), title: 'Builds', class: 'shortcuts-builds' do
          Builds

    -# Shortcut to commits page
    - if project_nav_tab? :commits
      %li.hidden
        = link_to project_commits_path(@project), title: 'Commits', class: 'shortcuts-commits' do
          Commits
    .fade-right
      = icon('arrow-right')