@** * 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 =>