summaryrefslogtreecommitdiff
path: root/app/views/shared/milestones/_milestone.html.haml
blob: 7ba8f9d43130b9d53095e990ee358ef8c119e33d (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
- dashboard = local_assigns[:dashboard]
- custom_dom_id = dom_id(milestone.try(:milestones) ? milestone.milestones.first : milestone)

%li{ class: "milestone milestone-#{milestone.closed? ? 'closed' : 'open'}", id: custom_dom_id }
  .row
    .col-sm-6
      %strong= link_to truncate(milestone.title, length: 100), milestone_path
      - if milestone.group_milestone?
        %span - Group Milestone
      - else
        %span - Project Milestone

    .col-sm-6
      .pull-right.light #{milestone.percent_complete(current_user)}% complete
  .row
    .col-sm-6
      = link_to pluralize(milestone.total_issues_count(current_user), 'Issue'), issues_path
      ·
      = link_to pluralize(milestone.merge_requests.size, 'Merge Request'), merge_requests_path
    .col-sm-6= milestone_progress_bar(milestone)
  - if milestone.is_a?(GlobalMilestone) || milestone.group_milestone?
    .row
      .col-sm-6
        - if milestone.legacy_group_milestone?
          .expiration= render('shared/milestone_expired', milestone: milestone)
          .projects
            - milestone.milestones.each do |milestone|
              = link_to milestone_path(milestone) do
                %span.label.label-gray
                  = dashboard ? milestone.project.name_with_namespace : milestone.project.name
      - if @group
        .col-sm-6.milestone-actions
          - if can?(current_user, :admin_milestones, @group)
            - if milestone.group_milestone?
              = link_to edit_group_milestone_path(@group, milestone), class: "btn btn-xs btn-grouped" do
                Edit
              \
            - if milestone.closed?
              = link_to 'Reopen Milestone', group_milestone_route(milestone, {state_event: :activate }), method: :put, class: "btn btn-xs btn-grouped btn-reopen"
            - else
              = link_to 'Close Milestone', group_milestone_route(milestone, {state_event: :close }), method: :put, class: "btn btn-xs btn-grouped btn-close"

  - if @project
    .row
      .col-sm-6
        = render('shared/milestone_expired', milestone: milestone)
      .col-sm-6.milestone-actions
        - if can?(current_user, :admin_milestone, milestone.project) and milestone.active?
          = link_to edit_project_milestone_path(milestone.project, milestone), class: "btn btn-xs btn-grouped" do
            Edit
          \

          - if @project.group
            = link_to promote_project_milestone_path(milestone.project, milestone), title: "Promote to Group Milestone", class: 'btn btn-xs btn-grouped', data: { confirm: "Promoting this milestone will make it available for all projects inside the group. Existing project milestones with the same name will be merged. Are you sure?", toggle: "tooltip" }, method: :post do
              Promote

          = link_to 'Close Milestone', project_milestone_path(@project, milestone, milestone: {state_event: :close }), method: :put, remote: true, class: "btn btn-xs btn-close btn-grouped"

          = link_to project_milestone_path(milestone.project, milestone), data: { confirm: 'Are you sure?' }, method: :delete, class: "btn btn-xs btn-remove btn-grouped" do
            Delete