summaryrefslogtreecommitdiff
path: root/app/views/projects/buttons/_dropdown.html.haml
blob: f9ab78e7874a744e4f86bcfe7ba1e86bc7371a69 (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
- if current_user
  %span.dropdown
    %a.dropdown-new.btn.btn-new{href: '#', "data-toggle" => "dropdown"}
      = icon('plus')
    %ul.dropdown-menu.dropdown-menu-right.project-home-dropdown
      - if can?(current_user, :create_issue, @project)
        %li
          = link_to url_for_new_issue(@project, only_path: true) do
            = icon('exclamation-circle fw')
            New issue
      - merge_project = can?(current_user, :create_merge_request, @project) ? @project : (current_user && current_user.fork_of(@project))
      - if merge_project
        %li
          = link_to new_namespace_project_merge_request_path(merge_project.namespace, merge_project) do
            = icon('tasks fw')
            New merge request
      - if can?(current_user, :create_snippet, @project)
        %li
          = link_to new_namespace_project_snippet_path(@project.namespace, @project) do
            = icon('file-text-o fw')
            New snippet

      - if can?(current_user, :push_code, @project)
        %li.divider
        %li
          = link_to namespace_project_new_blob_path(@project.namespace, @project, @project.default_branch || 'master') do
            = icon('file fw')
            New file
        %li
          = link_to new_namespace_project_branch_path(@project.namespace, @project) do
            = icon('code-fork fw')
            New branch
        %li
          = link_to new_namespace_project_tag_path(@project.namespace, @project) do
            = icon('tags fw')
            New tag
      - elsif current_user && current_user.already_forked?(@project)
        %li.divider
        %li
          = link_to namespace_project_new_blob_path(@project.namespace, @project, @project.default_branch || 'master') do
            = icon('file fw')
            New file
      - elsif can?(current_user, :fork_project, @project)
        %li.divider
        %li
          - continue_params = { to:         namespace_project_new_blob_path(@project.namespace, @project, @project.default_branch || 'master'),
                                notice:     edit_in_new_fork_notice,
                                notice_now: edit_in_new_fork_notice_now }
          - fork_path = namespace_project_fork_path(@project.namespace, @project, namespace_key:  current_user.namespace.id,
                                                                                  continue:       continue_params)
          = link_to fork_path, method: :post do
            = icon('file fw')
            New file