[Notice] Announcing the End of Demo Server [Read me]
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
2017-01-05
2017-01-05
2017-09-25
@**
* Yona, 21st Century Project Hosting SW
*
* Copyright Yona & Yobi Authors & NAVER Corp.
* https://yona.io
**@
@(issueList:Collection[Issue], searchCondition:models.support.SearchCondition, pageIndex:Int, totalPageCount:Int, project:Project)
@import java.util
@import utils.JodaDateUtil
@import utils.TemplateHelper._
@import utils.AccessControl._
@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|}}
@isAssignedToMeTab = @{
UserApp.currentUser().id == searchCondition.assigneeId
}
@isAuthoredMeTab = @{
UserApp.currentUser().id == searchCondition.authorId
}
<ul class="post-list-wrap my-issues">
@for(issue <- issueList){
@defining(issue.project){ project =>
@defining(User.findByLoginId(issue.authorLoginId)){ user =>
<li class="post-item title" id="issue-item-@issue.id" href="@routes.IssueApp.issue(project.owner, project.name, issue.getNumber)">
<div class="span10 span-hard-wrap">
<div class="title-wrap">
<a href="@routes.IssueApp.issue(project.owner, project.name, issue.getNumber)" class="title">
@issue.title
</a>
</div>
<div class="infos">
<span class="infos-item project-name">
<a href="@routes.ProjectApp.project(project.owner,project.name)" class="title project" data-toggle="tooltip" data-placement="bottom" title="@Messages("project.name")">
@project.name
</a>
</span>
<span class="infos-item post-id">#@issue.getNumber</span>
@if(!isAuthoredMeTab) {
@if(user.name) {
<a href="@routes.UserApp.userInfo(user.loginId)" class="infos-item infos-link-item" data-toggle="tooltip" data-placement="bottom" title="@user.loginId">
@user.name
</a>
} else {
<span class="infos-item">@Messages("issue.noAuthor")</span>
}
}
<span class="infos-item" data-toggle="tooltip" data-placement="bottom" title="@JodaDateUtil.getDateString(issue.createdDate)">
@agoOrDateString(issue.createdDate)
</span>
@partial_list_subtask(project, issue)
@if(issue.milestone != null && project != null && project.menuSetting != null && project.menuSetting.milestone) {
<span class="mileston-tag">
<a href="@routes.MilestoneApp.milestone(project.owner, project.name, issue.milestone.id)" data-toggle="tooltip" data-placement="bottom" title="@Messages("milestone")">
@issue.milestone.title
</a>
</span>
}
@if(issue.comments.size>0 || issue.voters.size>0) {
<span class="infos-item item-count-groups">
@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)
}
</span>
}
@for(label <- issue.labels.toList.sortBy(r => (r.category.name, r.name))) {
<a href="@urlToList(project, searchCondition.state)&labelIds=@label.id" class="label issue-label list-label" data-label-id="@label.id" style="background:@label.color">@label.name</a>
}
</div>
</div>
<div class="span2 hide-in-mobile">
@if(!isAssignedToMeTab){
<div class="mt5 pull-right hide-in-mobile">
@if(issue.assigneeName != null) {
<a href="@routes.UserApp.userInfo(issue.assignee.user.loginId)" class="avatar-wrap assinee" data-toggle="tooltip" data-placement="bottom" title="@Messages("issue.assignee"): @issue.assigneeName">
<img src="@issue.assignee.user.avatarUrl" width="32" height="32" alt="@issue.assigneeName">
</a>
} else {
<div class="empty-avatar-wrap"> </div>
}
</div>
}
@if(issue.dueDate != null) {
<div class="mr20 mt10 pull-right @if(issue.isOverDueDate) {overdue}" data-toggle="tooltip" data-placement="top" title="@issue.getDueDateString">
<i class="yobicon-clock2"></i>
@if(issue.isOpen) {
@if(issue.isOverDueDate) {
@Messages("issue.dueDate.overdue")
} else {
@issue.until
}
} else {
@issue.getDueDateString
}
</div>
}
</div>
</li>
}
}
}
</ul>