summaryrefslogtreecommitdiff
path: root/app/views/projects/milestones/show.html.haml
blob: 623c42ba88e5cf352a1d71cd8149a9a6271df0d9 (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
- @no_container = true
- add_to_breadcrumbs "Milestones", project_milestones_path(@project)
- breadcrumb_title @milestone.title
- page_title       @milestone.title, "Milestones"
- page_description @milestone.description

%div{ class: container_class }
  .detail-page-header.milestone-page-header
    .status-box{ class: status_box_class(@milestone) }
      - if @milestone.closed?
        Closed
      - elsif @milestone.expired?
        Past due
      - elsif @milestone.upcoming?
        Upcoming
      - else
        Open
    .header-text-content
      %span.identifier
        %strong
          Milestone
      - if @milestone.due_date || @milestone.start_date
        = milestone_date_range(@milestone)
    .milestone-buttons
      - if can?(current_user, :admin_milestone, @project)
        = link_to edit_project_milestone_path(@project, @milestone), class: "btn btn-grouped btn-nr" do
          Edit

        - if @project.group
          = link_to promote_project_milestone_path(@milestone.project, @milestone), title: "Promote to Group Milestone", class: 'btn btn-grouped', data: { confirm: "You are about to promote #{@milestone.title} to a group level. This will make this milestone available to all projects inside #{@project.group.name}. The existing project milestone will be merged into the group level. This action cannot be reversed.", toggle: "tooltip" }, method: :post do
            Promote

        - if @milestone.active?
          = link_to 'Close milestone', project_milestone_path(@project, @milestone, milestone: {state_event: :close }), method: :put, class: "btn btn-close btn-nr btn-grouped"
        - else
          = link_to 'Reopen milestone', project_milestone_path(@project, @milestone, milestone: {state_event: :activate }), method: :put, class: "btn btn-reopen btn-nr btn-grouped"

        %button.js-delete-milestone-button.btn.btn-grouped.btn-danger{ data: { toggle: 'modal',
          target: '#delete-milestone-modal',
          milestone_id: @milestone.id,
          milestone_title: markdown_field(@milestone, :title),
          milestone_url: project_milestone_path(@project, @milestone),
          milestone_issue_count: @milestone.issues.count,
          milestone_merge_request_count: @milestone.merge_requests.count },
          disabled: true }
          = _('Delete')
          = icon('spin spinner', class: 'js-loading-icon hidden' )

        #delete-milestone-modal

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

  .detail-page-description.milestone-detail
    %h2.title
      = markdown_field(@milestone, :title)

    %div
      - if @milestone.description.present?
        .description
          .wiki
            = markdown_field(@milestone, :description)

  - if can?(current_user, :read_issue, @project) && @milestone.total_items_count(current_user).zero?
    .alert.alert-success.prepend-top-default
      %span Assign some issues to this milestone.
  - elsif @milestone.complete?(current_user) && @milestone.active?
    .alert.alert-success.prepend-top-default
      %span All issues for this milestone are closed. You may close this milestone now.

  = render 'shared/milestones/tabs', milestone: @milestone
  = render 'shared/milestones/sidebar', milestone: @milestone, project: @project, affix_offset: 153