@** * Yona, 21st Century Project Hosting SW * * Copyright Yona & Yobi Authors & NAVER Corp. & NAVER LABS Corp. * https://yona.io **@ @(issue:Issue) @import utils.JodaDateUtil @import utils.TemplateHelper._ @import views.html.user._ @import views.html.issue._ @import utils.AccessControl._ @displayAuthorName(user: User) = { @if(user.name) { @user.getPureNameOnly } else { @Messages("issue.noAuthor") } } @displayAssigneeName(assignee: Assignee) = { @if(assignee != null) { @assignee.user.getPureNameOnly } else { } } @displayCommentsAndVoterCount(issue:Issue, project:Project) = { @if(issue.comments.size > 0 || issue.voters.size > 0) { @if(issue.comments.size > 0) { @views.html.common.commentCount(routes.IssueApp.issue(project.owner, project.name, issue.getNumber).toString + "#comments", issue.comments.size) } @if(issue.voters.size > 0) { @views.html.common.voteCount(routes.IssueApp.issue(project.owner, project.name, issue.getNumber).toString + "#vote", issue.voters.size) } } } @urlToList(project:Project, state:String) = {@routes.IssueApp.issues(project.owner, project.name, "open", "html", 1)} @issueLabels(issue:Issue) = {@for(label <- issue.labels.toList.sortBy(r => (r.category.name, r.name))) {@label.category.name,@label.id,@label.name|}} @defining(issue.project){ project =>
  • @project.name #@issue.getNumber
    @issue.title @displayCommentsAndVoterCount(issue, project) @partial_list_subtask(project, issue) @for(label <- issue.labels.toList.sortBy(r => (r.category.name, r.name))) { @label.name }
    @if(issue.hasChildIssue){ @partial_view_childIssueListOnly(issue, project) }
    @displayAuthorName(User.findByLoginId(issue.authorLoginId))
    @displayAssigneeName(issue.assignee)
    @displayAssigneeName(issue.assignee) @if(!issue.createdDate.equals(issue.updatedDate)) { @agoOrDateString(issue.updatedDate) } else { @agoOrDateString(issue.createdDate) } @if(issue.milestone != null && project != null && project.menuSetting != null && project.menuSetting.milestone) { @issue.milestone.title } @if(issue.dueDate != null) { @if(issue.isOpen) { @if(issue.isOverDueDate) { @Messages("issue.dueDate.overdue") } else { @issue.until } } else { @issue.getDueDateString } }
  • }