@** * Yona, 21st Century Project Hosting SW * * Copyright Yona & Yobi Authors & NAVER Corp. & NAVER LABS Corp. * https://yona.io **@ @(issue: Issue, project: Project) @import utils.TemplateHelper._ @parentIssueId = @{ if(issue.parent == null) { issue.id } else { issue.parent.id } } @defining(Issue.findByParentIssueIdAndState(parentIssueId, State.DRAFT)) { draftChildIssues => @defining(Issue.findByParentIssueIdAndState(parentIssueId, State.OPEN)) { openChildIssues => @defining(Issue.findByParentIssueIdAndState(parentIssueId, State.CLOSED)) { closedChildIssues => @if(!openChildIssues.isEmpty || !closedChildIssues.isEmpty || (!draftChildIssues.isEmpty && issue.isDraft && issue.isAuthoredBy(UserApp.currentUser()))) {
@defining(Issue.finder.byId(parentIssueId)) { parentIssue =>
#@parentIssue.getNumber @parentIssue.title @if(parentIssue.assignee != null) {- @parentIssue.assignee.user.getPureNameOnly} @defining(getPercent(closedChildIssues.size.toDouble, (openChildIssues.size + closedChildIssues.size).toDouble)) { percentage =>
@if(percentage != 100) {@closedChildIssues.size/}@(openChildIssues.size + closedChildIssues.size) @Messages("issue.state." + parentIssue.state.state)
} }
@if(!openChildIssues.isEmpty || !closedChildIssues.isEmpty || (!draftChildIssues.isEmpty && issue.isDraft && issue.isAuthoredBy(UserApp.currentUser()))) {
@for(childIssue <- draftChildIssues) { @partial_view_child("draft", childIssue, issue) } @for(childIssue <- openChildIssues) { @partial_view_child("open", childIssue, issue) } @for(childIssue <- closedChildIssues) { @partial_view_child("closed", childIssue, issue) }
}
} } } }