summaryrefslogtreecommitdiff
path: root/app/views/projects/issues/show.html.haml
blob: 5fe5ddc081918f1418b24b00c1e88ef5927a3264 (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
- page_title           "#{@issue.title} (##{@issue.iid})", "Issues"
- page_description     @issue.description
- page_card_attributes @issue.card_attributes

= render "header_title"

.issue
  .detail-page-header.issuable-header
    .pull-left
      .status-box{ class: "status-box-closed #{issue_button_visibility(@issue, false)}"}
        %span.hidden-xs
          Closed
        %span.hidden-sm.hidden-md.hidden-lg
          = icon('check')
      .status-box{ class: "status-box-open #{issue_button_visibility(@issue, true)}"}
        %span.hidden-xs
          Open
        %span.hidden-sm.hidden-md.hidden-lg
          = icon('circle-o')

    %a.btn.btn-default.pull-right.visible-xs-block.gutter-toggle.js-sidebar-toggle{ href: "#" }
      = icon('angle-double-left')

    .issue-meta
      = confidential_icon(@issue)
      %strong.identifier
        Issue ##{@issue.iid}
      %span.creator
        opened
        .editor-details
          .editor-details
            = time_ago_with_tooltip(@issue.created_at)
            by
            %strong
              = link_to_member(@project, @issue.author, size: 24, mobile_classes: "hidden-xs")
            %strong
              = link_to_member(@project, @issue.author, size: 24, mobile_classes: "hidden-sm hidden-md hidden-lg",
                by_username: true, avatar: false)

    .pull-right.issue-btn-group
      - if can?(current_user, :create_issue, @project)
        = link_to new_namespace_project_issue_path(@project.namespace, @project), class: 'btn btn-nr btn-grouped new-issue-link btn-success', title: 'New issue', id: 'new_issue_link' do
          = icon('plus')
          New issue
      - if can?(current_user, :update_issue, @issue)
        = link_to 'Reopen issue', issue_path(@issue, issue: {state_event: :reopen}, status_only: true, format: 'json'), data: {no_turbolink: true}, class: "btn btn-nr btn-grouped btn-reopen #{issue_button_visibility(@issue, false)}", title: 'Reopen issue'
        = link_to 'Close issue', issue_path(@issue, issue: {state_event: :close}, status_only: true, format: 'json'), data: {no_turbolink: true}, class: "btn btn-nr btn-grouped btn-close #{issue_button_visibility(@issue, true)}", title: 'Close issue'
        = link_to edit_namespace_project_issue_path(@project.namespace, @project, @issue), class: 'btn btn-nr btn-grouped issuable-edit' do
          = icon('pencil-square-o')
          Edit


  .issue-details.issuable-details
    .detail-page-description.content-block
      %h2.title
        = markdown escape_once(@issue.title), pipeline: :single_line
      %div
        - if @issue.description.present?
          .description{class: can?(current_user, :update_issue, @issue) ? 'js-task-list-container' : ''}
            .wiki
              = preserve do
                = markdown(@issue.description, cache_key: [@issue, "description"])
            %textarea.hidden.js-task-list-field
              = @issue.description
      = edited_time_ago_with_tooltip(@issue, placement: 'bottom', html_class: 'issue_edited_ago')

      #merge-requests{'data-url' => referenced_merge_requests_namespace_project_issue_url(@project.namespace, @project, @issue)}
        // This element is filled in using JavaScript.

      #related-branches{'data-url' => related_branches_namespace_project_issue_url(@project.namespace, @project, @issue)}
        // This element is filled in using JavaScript.

    .content-block.content-block-small
      = render 'new_branch'
      = render 'votes/votes_block', votable: @issue

    .row
      %section.col-md-12
        .issuable-discussion
          = render 'projects/issues/discussion'

= render 'shared/issuable/sidebar', issuable: @issue