summaryrefslogtreecommitdiff
path: root/app/views/shared/issue_type/_details_header.html.haml
blob: ea4df288839d0f847e7f221f099b473a8ba88b46 (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
- can_update_issue = can?(current_user, :update_issue, issuable)
- can_reopen_issue = can?(current_user, :reopen_issue, issuable)
- can_report_spam = issuable.submittable_as_spam_by?(current_user)
- can_create_issue = show_new_issue_link?(@project)
- display_issuable_type = issuable_display_type(issuable)
- new_issuable_params = ({ issuable_template: 'incident', issue: { issue_type: 'incident' } } if issuable.incident?)

.detail-page-header
  .detail-page-header-body
    .issuable-status-box.status-box.status-box-issue-closed{ class: issue_status_visibility(issuable, status_box: :closed) }
      = sprite_icon('mobile-issue-close', css_class: 'gl-display-block gl-display-sm-none!')
      .gl-display-none.gl-display-sm-block!
        = issue_closed_text(issuable, current_user)
    .issuable-status-box.status-box.status-box-open{ class: issue_status_visibility(issuable, status_box: :open) }
      = sprite_icon('issue-open-m', css_class: 'gl-display-block gl-display-sm-none!')
      %span.gl-display-none.gl-display-sm-block!
        = _('Open')

    .issuable-meta
      #js-issuable-header-warnings
      = issuable_meta(issuable, @project, display_issuable_type)

    %a.btn.gl-button.btn-default.float-right.gl-display-block.d-sm-none.gutter-toggle.issuable-gutter-toggle.js-sidebar-toggle{ href: "#" }
      = sprite_icon('chevron-double-lg-left')

  - if Feature.enabled?(:vue_issue_header, @project, default_enabled: true)
    .js-issue-header-actions{ data: issue_header_actions_data(@project, issuable, current_user) }
  - else
    .detail-page-header-actions.js-issuable-actions.js-issuable-buttons{ data: { "action": "close-reopen" } }
      .clearfix.issue-btn-group.dropdown
        %button.btn.gl-button.btn-default.float-left.gl-display-md-none{ type: "button", data: { toggle: "dropdown" } }
          = _('Options')
          = icon('caret-down')
        .dropdown-menu.dropdown-menu-right
          %ul
            - unless current_user == issuable.author
              %li= link_to _('Report abuse'), new_abuse_report_path(user_id: issuable.author.id, ref_url: issue_url(issuable))
            - if can_update_issue
              %li= link_to _('Close %{display_issuable_type}') % { display_issuable_type: display_issuable_type }, issue_path(issuable, issue: { state_event: :close }, format: 'json'), class: "btn-close js-btn-issue-action #{issue_button_visibility(issuable, true)}", title: _('Close %{display_issuable_type}') % { display_issuable_type: display_issuable_type }, data: { endpoint: close_reopen_issuable_path(issuable) }
            - if can_reopen_issue
              %li= link_to _('Reopen %{display_issuable_type}') % { display_issuable_type: display_issuable_type }, issue_path(issuable, issue: { state_event: :reopen }, format: 'json'), class: "btn-reopen js-btn-issue-action #{issue_button_visibility(issuable, false)}", title: _('Reopen %{display_issuable_type}') % { display_issuable_type: display_issuable_type }, data: { endpoint: close_reopen_issuable_path(issuable) }
            - if can_report_spam
              %li= link_to _('Submit as spam'), mark_as_spam_project_issue_path(@project, issuable), method: :post, class: 'btn-spam', title: 'Submit as spam'
            - if can_create_issue
              - if can_update_issue || can_report_spam
                %li.divider
              %li= link_to _('New %{display_issuable_type}') % { display_issuable_type: display_issuable_type }, new_project_issue_path(@project, new_issuable_params), id: 'new_%{display_issuable_type}_link' % { display_issuable_type: display_issuable_type }

      = render 'shared/issuable/close_reopen_button', issuable: issuable, can_update: can_update_issue, can_reopen: can_reopen_issue, warn_before_close: defined?(issuable.blocked?) && issuable.blocked?

      - if can_report_spam
        = link_to _('Submit as spam'), mark_as_spam_project_issue_path(@project, issuable), method: :post, class: 'gl-display-none gl-display-md-block gl-button btn btn-grouped btn-spam', title: 'Submit as spam'
      - if can_create_issue
        = link_to new_project_issue_path(@project, new_issuable_params), class: 'gl-display-none gl-display-md-block gl-button btn btn-grouped btn-success btn-inverted', title: _('New %{display_issuable_type}') % { display_issuable_type: display_issuable_type }, id: 'new_%{display_issuable_type}_link' % { display_issuable_type: display_issuable_type } do
          = _('New %{display_issuable_type}') % { display_issuable_type: display_issuable_type }