2016-06-02 11:05:42 +05:30
|
|
|
- dashboard = local_assigns[:dashboard]
|
2017-09-10 17:25:29 +05:30
|
|
|
- custom_dom_id = dom_id(milestone.try(:milestones) ? milestone.milestones.first : milestone)
|
2018-11-08 19:23:39 +05:30
|
|
|
- milestone_type = milestone.group_milestone? ? 'Group Milestone' : 'Project Milestone'
|
2016-06-02 11:05:42 +05:30
|
|
|
|
2017-08-17 22:00:37 +05:30
|
|
|
%li{ class: "milestone milestone-#{milestone.closed? ? 'closed' : 'open'}", id: custom_dom_id }
|
2016-06-02 11:05:42 +05:30
|
|
|
.row
|
|
|
|
.col-sm-6
|
2018-11-08 19:23:39 +05:30
|
|
|
.append-bottom-5
|
|
|
|
%strong= link_to truncate(milestone.title, length: 100), milestone_path
|
|
|
|
- if @group
|
|
|
|
= " - #{milestone_type}"
|
2017-09-10 17:25:29 +05:30
|
|
|
|
2018-11-08 19:23:39 +05:30
|
|
|
- if @project || milestone.is_a?(GlobalMilestone) || milestone.group_milestone?
|
|
|
|
- if milestone.due_date || milestone.start_date
|
|
|
|
.milestone-range.append-bottom-5
|
|
|
|
= milestone_date_range(milestone)
|
|
|
|
%div
|
|
|
|
= render('shared/milestone_expired', milestone: milestone)
|
2018-11-20 20:47:30 +05:30
|
|
|
- if milestone.group_milestone?
|
|
|
|
.label-badge.label-badge-blue.d-inline-block
|
|
|
|
= milestone.group.full_name
|
2018-11-08 19:23:39 +05:30
|
|
|
- if milestone.legacy_group_milestone?
|
|
|
|
.projects
|
|
|
|
- milestone.milestones.each do |milestone|
|
|
|
|
= link_to milestone_path(milestone) do
|
|
|
|
%span.label-badge.label-badge-blue.d-inline-block.append-bottom-5
|
|
|
|
= dashboard ? milestone.project.full_name : milestone.project.name
|
|
|
|
|
|
|
|
.col-sm-4.milestone-progress
|
|
|
|
= milestone_progress_bar(milestone)
|
2017-08-17 22:00:37 +05:30
|
|
|
= link_to pluralize(milestone.total_issues_count(current_user), 'Issue'), issues_path
|
2016-06-02 11:05:42 +05:30
|
|
|
·
|
|
|
|
= link_to pluralize(milestone.merge_requests.size, 'Merge Request'), merge_requests_path
|
2018-11-08 19:23:39 +05:30
|
|
|
.float-lg-right.light #{milestone.percent_complete(current_user)}% complete
|
|
|
|
.col-sm-2
|
|
|
|
.milestone-actions.d-flex.justify-content-sm-start.justify-content-md-end
|
|
|
|
- if @project
|
|
|
|
- if can?(current_user, :admin_milestone, milestone.project) and milestone.active?
|
|
|
|
- if @project.group
|
|
|
|
%button.js-promote-project-milestone-button.btn.btn-blank.btn-sm.btn-grouped.has-tooltip{ title: _('Promote to Group Milestone'),
|
|
|
|
disabled: true,
|
|
|
|
type: 'button',
|
|
|
|
data: { url: promote_project_milestone_path(milestone.project, milestone),
|
|
|
|
milestone_title: milestone.title,
|
|
|
|
group_name: @project.group.name,
|
|
|
|
target: '#promote-milestone-modal',
|
|
|
|
container: 'body',
|
|
|
|
toggle: 'modal' } }
|
|
|
|
= sprite_icon('level-up', size: 14)
|
|
|
|
|
|
|
|
= link_to 'Close Milestone', project_milestone_path(@project, milestone, milestone: {state_event: :close }), method: :put, remote: true, class: "btn btn-sm btn-close btn-grouped"
|
|
|
|
- unless milestone.active?
|
|
|
|
= link_to 'Reopen Milestone', project_milestone_path(@project, milestone, {state_event: :activate }), method: :put, class: "btn btn-grouped btn-reopen"
|
|
|
|
- if @group
|
2018-11-20 20:47:30 +05:30
|
|
|
- if can?(current_user, :admin_milestone, @group)
|
2016-06-02 11:05:42 +05:30
|
|
|
- if milestone.closed?
|
2018-11-08 19:23:39 +05:30
|
|
|
= link_to 'Reopen Milestone', group_milestone_route(milestone, {state_event: :activate }), method: :put, class: "btn btn-sm btn-grouped btn-reopen"
|
2016-06-02 11:05:42 +05:30
|
|
|
- else
|
2018-11-08 19:23:39 +05:30
|
|
|
= link_to 'Close Milestone', group_milestone_route(milestone, {state_event: :close }), method: :put, class: "btn btn-sm btn-grouped btn-close"
|
|
|
|
- if dashboard
|
|
|
|
.status-box.status-box-milestone
|
|
|
|
= milestone_type
|