- @(issues: List[(model.Issue, List[model.Label], Int)],
- page: Int,
- openCount: Int,
- closedCount: Int,
- condition: service.IssuesService.IssueSearchCondition,
- repository: Option[service.RepositoryService.RepositoryInfo],
- hasWritePermission: Boolean)(implicit context: app.Context)
- @import context._
- @import view.helpers._
- <div class="span9">
- @repository.map { repository =>
- @if(hasWritePermission){
- <div class="pull-right">
- @helper.html.paginator(page, (if(condition.state == "open") openCount else closedCount), service.PullRequestService.PullRequestLimit, 7, condition.toURL)
- <a href="@url(repository)/compare" class="btn btn-success">New pull request</a>
- </div>
- }
- }
- <div class="btn-group">
- <a class="btn@if(condition.state == "open"){ active}" href="@condition.copy(state = "open").toURL">@openCount Open</a>
- <a class="btn@if(condition.state == "closed"){ active}" href="@condition.copy(state = "closed").toURL">@closedCount Closed</a>
- </div>
- @helper.html.dropdown(
- value = (condition.sort, condition.direction) match {
- case ("created" , "desc") => "Newest"
- case ("created" , "asc" ) => "Oldest"
- case ("comments", "desc") => "Most commented"
- case ("comments", "asc" ) => "Least commented"
- case ("updated" , "desc") => "Recently updated"
- case ("updated" , "asc" ) => "Least recently updated"
- },
- prefix = "Sort",
- mini = false
- ){
- <li>
- <a href="@condition.copy(sort="created", direction="desc").toURL">
- @helper.html.checkicon(condition.sort == "created" && condition.direction == "desc") Newest
- </a>
- </li>
- <li>
- <a href="@condition.copy(sort="created", direction="asc" ).toURL">
- @helper.html.checkicon(condition.sort == "created" && condition.direction == "asc") Oldest
- </a>
- </li>
- <li>
- <a href="@condition.copy(sort="comments", direction="desc").toURL">
- @helper.html.checkicon(condition.sort == "comments" && condition.direction == "desc") Most commented
- </a>
- </li>
- <li>
- <a href="@condition.copy(sort="comments", direction="asc" ).toURL">
- @helper.html.checkicon(condition.sort == "comments" && condition.direction == "asc") Least commented
- </a>
- </li>
- <li>
- <a href="@condition.copy(sort="updated", direction="desc").toURL">
- @helper.html.checkicon(condition.sort == "updated" && condition.direction == "desc") Recently updated
- </a>
- </li>
- <li>
- <a href="@condition.copy(sort="updated", direction="asc" ).toURL">
- @helper.html.checkicon(condition.sort == "updated" && condition.direction == "asc") Least recently updated
- </a>
- </li>
- }
- <table class="table table-bordered table-hover table-issues">
- @if(issues.isEmpty){
- <tr>
- <td style="padding: 20px; background-color: #eee; text-align: center;">
- No pull requests to show.
- </td>
- </tr>
- }
- @issues.map { case (issue, labels, commentCount) =>
- <tr>
- <td>
- <img src="@assets/common/images/pullreq-@(if(issue.closed) "closed" else "open").png"/>
- <a href="@path/@issue.userName/@issue.repositoryName/pull/@issue.issueId" class="issue-title">@issue.title</a>
- <span class="pull-right muted">#@issue.issueId</span>
- <div style="margin-left: 20px;">
- @issue.content.map { content =>
- @cut(content, 90)
- }.getOrElse {
- <span class="muted">No description available</span>
- }
- </div>
- <div class="small muted" style="margin-left: 20px;">
- @avatar(issue.openedUserName, 20) by <a href="@url(issue.openedUserName)" class="username">@issue.openedUserName</a> @datetime(issue.registeredDate)
- @if(commentCount > 0){
- <i class="icon-comment"></i><a href="@path/@issue.userName/@issue.repositoryName/issues/@issue.issueId" class="issue-comment-count">@commentCount @plural(commentCount, "comment")</a>
- }
- </div>
- </td>
- </tr>
- }
- </table>
- <div class="pull-right">
- @helper.html.paginator(page, (if(condition.state == "open") openCount else closedCount), service.PullRequestService.PullRequestLimit, 10, condition.toURL)
- </div>
- </div>