summaryrefslogtreecommitdiff
path: root/app/views/projects/milestones/show.html.haml
blob: eab5333ca29761e6bb43c4d67b319f14f3c3dec3 (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
- page_title @milestone.title, "Milestones"
= render "header_title"

%h4.page-title
  .issue-box{ class: issue_box_class(@milestone) }
    - if @milestone.closed?
      Closed
    - elsif @milestone.expired?
      Expired
    - else
      Open
  Milestone ##{@milestone.iid}
  %small.creator
    = @milestone.expires_at
  .pull-right
    - if can?(current_user, :admin_milestone, @project)
      = link_to edit_namespace_project_milestone_path(@project.namespace, @project, @milestone), class: "btn btn-grouped" do
        %i.fa.fa-pencil-square-o
        Edit
      - if @milestone.active?
        = link_to 'Close Milestone', namespace_project_milestone_path(@project.namespace, @project, @milestone, milestone: {state_event: :close }), method: :put, class: "btn btn-close btn-grouped"
      - else
        = link_to 'Reopen Milestone', namespace_project_milestone_path(@project.namespace, @project, @milestone, milestone: {state_event: :activate }), method: :put, class: "btn btn-reopen btn-grouped"
      = link_to namespace_project_milestone_path(@project.namespace, @project, @milestone), data: { confirm: 'Are you sure?' }, method: :delete, class: "btn btn-grouped btn-remove" do
        %i.fa.fa-trash-o
        Delete

%hr
- if @milestone.issues.any? && @milestone.can_be_closed?
  .alert.alert-success
    %span All issues for this milestone are closed. You may close milestone now.

%h3.issue-title
  = gfm escape_once(@milestone.title)
%div
  - if @milestone.description.present?
    .description
      .wiki
        = preserve do
          = markdown @milestone.description

%hr
.context
  %p.lead
    Progress:
    #{@milestone.closed_items_count} closed
    –
    #{@milestone.open_items_count} open
     
    %span.light #{@milestone.percent_complete}% complete
    %span.pull-right= @milestone.expires_at
  = milestone_progress_bar(@milestone)


%ul.nav.nav-tabs
  %li.active
    = link_to '#tab-issues', 'data-toggle' => 'tab' do
      Issues
      %span.badge= @issues.count
  %li
    = link_to '#tab-merge-requests', 'data-toggle' => 'tab' do
      Merge Requests
      %span.badge= @merge_requests.count
  %li
    = link_to '#tab-participants', 'data-toggle' => 'tab' do
      Participants
      %span.badge= @users.count

  .pull-right
    - if can?(current_user, :create_issue, @project)
      = link_to new_namespace_project_issue_path(@project.namespace, @project, issue: { milestone_id: @milestone.id }), class: "btn  btn-grouped", title: "New Issue" do
        %i.fa.fa-plus
        New Issue
    - if can?(current_user, :read_issue, @project)
      = link_to 'Browse Issues', namespace_project_issues_path(@milestone.project.namespace, @milestone.project, milestone_title: @milestone.title), class: "btn  edit-milestone-link btn-grouped"

.tab-content
  .tab-pane.active#tab-issues
    .row
      .col-md-4
        = render('issues', title: 'Unstarted Issues (open and unassigned)', issues: @issues.opened.unassigned, id: 'unassigned')
      .col-md-4
        = render('issues', title: 'Ongoing Issues (open and assigned)', issues: @issues.opened.assigned, id: 'ongoing')
      .col-md-4
        = render('issues', title: 'Completed Issues (closed)', issues: @issues.closed, id: 'closed')

  .tab-pane#tab-merge-requests
    .row
      .col-md-3
        = render('merge_requests', title: 'Work in progress (open and unassigned)', merge_requests: @merge_requests.opened.unassigned, id: 'unassigned')
      .col-md-3
        = render('merge_requests', title: 'Waiting for merge (open and assigned)', merge_requests: @merge_requests.opened.assigned, id: 'ongoing')
      .col-md-3
        = render('merge_requests', title: 'Rejected (closed)', merge_requests: @merge_requests.closed, id: 'closed')
      .col-md-3
        .panel.panel-primary
          .panel-heading Merged
          %ul.well-list
            - @merge_requests.merged.each do |merge_request|
              = render 'merge_request', merge_request: merge_request

  .tab-pane#tab-participants
    %ul.bordered-list
      - @users.each do |user|
        %li
          = link_to user, title: user.name, class: "darken" do
            = image_tag avatar_icon(user, 32), class: "avatar s32"
            %strong= truncate(user.name, lenght: 40)
            %br
            %small.cgray= user.username