File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
2012-08-28
File name
Commit message
Commit date
2013-04-24
@(title: String, milestones: List[models.Milestone], projectInst: Project, mCondition: MilestoneApp.MilestoneCondition)
@import scala.collection.immutable._
@import utils.TemplateHelper._
@makeSortLink(_sort:String) = @{
var _direction = "asc";
if(mCondition.sort.equals(_sort)) {
if(_direction.equals(mCondition.direction)) {
_direction = "desc"
}
}
buildQueryString(routes.MilestoneApp.milestones(projectInst.owner, projectInst.name),
Map("state"->mCondition.state, "sort"->_sort, "direction"->_direction)
)
}
@makeIssuesLink(mId: Long, _state: String) = @{
buildQueryString(routes.IssueApp.issues(projectInst.owner, projectInst.name, _state),
Map("milestone"->mId.toString)
)
}
@sortMark(_sort: String) = @{
/* TODO It will be chnaged. */
if(mCondition.sort.equals(_sort)) {
if(mCondition.direction.equals("desc")){
"down"
} else {
"up"
}
} else {
/*"up hidden"*/
"up"
}
}
@makeMilestoneListLink(_state: String) = @{
buildQueryString(routes.MilestoneApp.milestones(projectInst.owner, projectInst.name),
Map("state"->_state)
)
}
@project.projectMngMain(title, projectInst) {
@prjmenu(projectInst, utils.MenuType.MILESTONE, "")
<div class="tab-wrap">
<div class="pull-right btns">
<a href="@routes.MilestoneApp.manageMilestones(projectInst.owner, projectInst.name)" class="nbtn medium">@Messages("milestone.menu.manage")</a>
<a href="@routes.MilestoneApp.newMilestoneForm(projectInst.owner, projectInst.name)" class="nbtn medium orange">@Messages("milestone.menu.new")</a>
</div>
<ul class="nav nav-tabs">
<li class="@if(mCondition.state.equals("all")){active}">
<a href="@makeMilestoneListLink("all")">@Messages("milestone.state.all")</a>
</li>
<li class="@if(mCondition.state.equals("open")){active}">
<a href="@makeMilestoneListLink("open")">@Messages("milestone.state.open")</a>
</li>
<li class="@if(mCondition.state.equals("closed")){active}">
<a href="@makeMilestoneListLink("closed")">@Messages("milestone.state.closed")</a>
</li>
</ul>
</div>
<div class="filter-wrap milestone">
<div class="filters">
<a href="@makeSortLink("dueDate")" class="filter"><i class="ico ico-sort @sortMark("dueDate")"></i>@Messages("order.dueDate")</a>
<a href="@makeSortLink("completionRate")" class="filter active"><i class="ico ico-sort @sortMark("completionRate")"></i>@Messages("order.completionRate")</a>
</div>
<div class="legend">
<i class="gray"></i>@Messages("issue.state.open")
<i class="blue"></i>@Messages("issue.state.assigned")
<i class="orange"></i>@Messages("issue.state.closed")
</div>
</div>
@if(milestones == null || milestones.isEmpty()){
<div class="error-wrap">
<i class="ico ico-err1"></i>
<p>@Messages("milestone.is.empty")</p>
</div>
} else {
<ul class="milestones">
@for(milestone <- milestones){
<li class="milestone">
<div class="infos">
<!--
<ul class="contributors">
<li class="contributor">
<a href="/uname" class="img-rounded"><img src="/assets/images/default-avatar-34.png"></a>
</li>
<li class="contributor">
<a href="/uname" class="img-rounded"><img src="/assets/images/default-avatar-34.png"></a>
</li>
<li class="contributor">
<a href="/uname" class="img-rounded"><img src="/assets/images/default-avatar-34.png"></a>
</li>
</ul>
-->
<div class="meta-info">
<strong class="version"></strong>
<span class="title">@milestone.title</span>
<span class="sp">|</span>
<span class="due-date">@Messages("label.dueDate") <strong>@milestone.getDueDateString</strong></span>
</div>
<div class="progress-wrap">
<div class="progress">
<div class="bar orange" style="width: @milestone.getCompletionRate%;"></div>
<!--
<div class="bar blue" style="width: 30%"></div>
-->
</div>
<div class="progress-label">
@** 0% 일 수도 있어서 최소한의 텍스트 영역 확보 **@
<div class="pull-left" style="width: @milestone.getCompletionRate%; min-width:100px;">
<a href="@makeIssuesLink(milestone.id,"closed")">@Messages("milestone.state.closed") <strong>@milestone.getCompletionRate%</strong></a>
</div>
<div class="pull-right">
<a href="@makeIssuesLink(milestone.id,"open")">@Messages("issue.state.open") <strong>@{100 - milestone.getCompletionRate}%</strong></a>
</div>
</div>
</div>
<div class="desc">
@milestone.contents
</div>
</div>
<div class="completion-rate @if(milestone.getCompletionRate == 100){done}">
@milestone.getCompletionRate
<i>%</i>
</div>
</li>
}
</ul>
}
}