mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-06 21:45:50 +01:00
(refs #488)Apply new UI to the pull request list
This commit is contained in:
@@ -453,7 +453,6 @@ trait PullRequestsControllerBase extends ControllerBase {
|
|||||||
|
|
||||||
private def searchPullRequests(userName: Option[String], repository: RepositoryService.RepositoryInfo) =
|
private def searchPullRequests(userName: Option[String], repository: RepositoryService.RepositoryInfo) =
|
||||||
defining(repository.owner, repository.name){ case (owner, repoName) =>
|
defining(repository.owner, repository.name){ case (owner, repoName) =>
|
||||||
//val filterUser = userName.map { x => Map("created_by" -> x) } getOrElse Map("all" -> "")
|
|
||||||
val page = IssueSearchCondition.page(request)
|
val page = IssueSearchCondition.page(request)
|
||||||
val sessionKey = Keys.Session.Pulls(owner, repoName)
|
val sessionKey = Keys.Session.Pulls(owner, repoName)
|
||||||
|
|
||||||
@@ -466,8 +465,10 @@ trait PullRequestsControllerBase extends ControllerBase {
|
|||||||
pulls.html.list(
|
pulls.html.list(
|
||||||
searchIssue(condition, true, (page - 1) * PullRequestLimit, PullRequestLimit, owner -> repoName),
|
searchIssue(condition, true, (page - 1) * PullRequestLimit, PullRequestLimit, owner -> repoName),
|
||||||
getPullRequestCountGroupByUser(condition.state == "closed", Some(owner), Some(repoName)),
|
getPullRequestCountGroupByUser(condition.state == "closed", Some(owner), Some(repoName)),
|
||||||
userName,
|
|
||||||
page,
|
page,
|
||||||
|
(getCollaborators(owner, repoName) :+ owner).sorted,
|
||||||
|
getMilestones(owner, repoName),
|
||||||
|
getLabels(owner, repoName),
|
||||||
countIssue(condition.copy(state = "open" ), true, owner -> repoName),
|
countIssue(condition.copy(state = "open" ), true, owner -> repoName),
|
||||||
countIssue(condition.copy(state = "closed"), true, owner -> repoName),
|
countIssue(condition.copy(state = "closed"), true, owner -> repoName),
|
||||||
countIssue(condition.copy(assigned = None, author = None), true, owner -> repoName),
|
countIssue(condition.copy(assigned = None, author = None), true, owner -> repoName),
|
||||||
|
|||||||
@@ -133,8 +133,10 @@
|
|||||||
</div>
|
</div>
|
||||||
*@
|
*@
|
||||||
@***** show issue list *****@
|
@***** show issue list *****@
|
||||||
|
<div class="span12">
|
||||||
@listparts(issues, page, openCount, closedCount, condition, collaborators, milestones, labels, Some(repository), hasWritePermission)
|
@listparts(issues, page, openCount, closedCount, condition, collaborators, milestones, labels, Some(repository), hasWritePermission)
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
@if(hasWritePermission){
|
@if(hasWritePermission){
|
||||||
<form id="batcheditForm" method="POST">
|
<form id="batcheditForm" method="POST">
|
||||||
<input type="hidden" name="value"/>
|
<input type="hidden" name="value"/>
|
||||||
|
|||||||
@@ -11,73 +11,10 @@
|
|||||||
@import context._
|
@import context._
|
||||||
@import view.helpers._
|
@import view.helpers._
|
||||||
@import service.IssuesService.IssueInfo
|
@import service.IssuesService.IssueInfo
|
||||||
<div class="span12">
|
@if(condition.nonEmpty){
|
||||||
@*
|
|
||||||
@if(condition.labels.nonEmpty || condition.milestoneId.isDefined){
|
|
||||||
<a href="@condition.copy(labels = Set.empty, milestoneId = None).toURL" id="clear-filter">
|
|
||||||
<i class="icon-remove-circle"></i> Clear milestone and label filters
|
|
||||||
</a>
|
|
||||||
}
|
|
||||||
@if(condition.repo.isDefined){
|
|
||||||
<a href="@condition.copy(repo = None).toURL" id="clear-filter">
|
|
||||||
<i class="icon-remove-circle"></i> Clear filter on @condition.repo
|
|
||||||
</a>
|
|
||||||
}
|
|
||||||
<div class="pull-right">
|
|
||||||
@helper.html.paginator(page, (if(condition.state == "open") openCount else closedCount), service.IssuesService.IssueLimit, 7, condition.toURL)
|
|
||||||
</div>
|
|
||||||
<div class="btn-group">
|
|
||||||
<a class="btn btn-small@if(condition.state == "open"){ active}" href="@condition.copy(state = "open").toURL">@openCount Open</a>
|
|
||||||
<a class="btn btn-small@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>
|
|
||||||
}
|
|
||||||
*@
|
|
||||||
@if(condition.nonEmpty){
|
|
||||||
<a href="@service.IssuesService.IssueSearchCondition().toURL">Clear current search query, filters, and sorts</a>
|
<a href="@service.IssuesService.IssueSearchCondition().toURL">Clear current search query, filters, and sorts</a>
|
||||||
}
|
}
|
||||||
<table class="table table-bordered table-hover table-issues">
|
<table class="table table-bordered table-hover table-issues">
|
||||||
<tr>
|
<tr>
|
||||||
<th style="background-color: #eee;">
|
<th style="background-color: #eee;">
|
||||||
<input type="checkbox"/>
|
<input type="checkbox"/>
|
||||||
@@ -235,19 +172,11 @@
|
|||||||
<label class="checkbox" style="cursor: default;">
|
<label class="checkbox" style="cursor: default;">
|
||||||
<input type="checkbox" value="@issue.issueId"/>
|
<input type="checkbox" value="@issue.issueId"/>
|
||||||
}
|
}
|
||||||
@if(issue.isPullRequest){
|
|
||||||
<img src="@assets/common/images/pullreq-@(if(issue.closed) "closed" else "open").png" style="margin-right: 20px;"/>
|
|
||||||
} else {
|
|
||||||
<img src="@assets/common/images/issue-@(if(issue.closed) "closed" else "open").png" style="margin-right: 20px;"/>
|
<img src="@assets/common/images/issue-@(if(issue.closed) "closed" else "open").png" style="margin-right: 20px;"/>
|
||||||
}
|
|
||||||
@if(repository.isEmpty){
|
@if(repository.isEmpty){
|
||||||
<a href="@path/@issue.userName/@issue.repositoryName">@issue.repositoryName</a> ・
|
<a href="@path/@issue.userName/@issue.repositoryName">@issue.repositoryName</a> ・
|
||||||
}
|
}
|
||||||
@if(issue.isPullRequest){
|
|
||||||
<a href="@path/@issue.userName/@issue.repositoryName/pull/@issue.issueId" class="issue-title">@issue.title</a>
|
|
||||||
} else {
|
|
||||||
<a href="@path/@issue.userName/@issue.repositoryName/issues/@issue.issueId" class="issue-title">@issue.title</a>
|
<a href="@path/@issue.userName/@issue.repositoryName/issues/@issue.issueId" class="issue-title">@issue.title</a>
|
||||||
}
|
|
||||||
@labels.map { label =>
|
@labels.map { label =>
|
||||||
<span class="label-color small" style="background-color: #@label.color; color: #@label.fontColor; padding-left: 4px; padding-right: 4px">@label.labelName</span>
|
<span class="label-color small" style="background-color: #@label.color; color: #@label.fontColor; padding-left: 4px; padding-right: 4px">@label.labelName</span>
|
||||||
}
|
}
|
||||||
@@ -267,9 +196,8 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
}
|
}
|
||||||
</table>
|
</table>
|
||||||
<div class="pull-right">
|
<div class="pull-right">
|
||||||
@helper.html.paginator(page, (if(condition.state == "open") openCount else closedCount), service.IssuesService.IssueLimit, 10, condition.toURL)
|
@helper.html.paginator(page, (if(condition.state == "open") openCount else closedCount), service.IssuesService.IssueLimit, 10, condition.toURL)
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
@(issues: List[service.IssuesService.IssueInfo],
|
@(issues: List[service.IssuesService.IssueInfo],
|
||||||
counts: List[service.PullRequestService.PullRequestCount],
|
counts: List[service.PullRequestService.PullRequestCount],
|
||||||
filter: Option[String],
|
|
||||||
page: Int,
|
page: Int,
|
||||||
|
collaborators: List[String],
|
||||||
|
milestones: List[model.Milestone],
|
||||||
|
labels: List[model.Label],
|
||||||
openCount: Int,
|
openCount: Int,
|
||||||
closedCount: Int,
|
closedCount: Int,
|
||||||
allCount: Int,
|
allCount: Int,
|
||||||
@@ -13,7 +15,9 @@
|
|||||||
@import service.IssuesService.IssueInfo
|
@import service.IssuesService.IssueInfo
|
||||||
@html.main(s"Pull Requests - ${repository.owner}/${repository.name}", Some(repository)){
|
@html.main(s"Pull Requests - ${repository.owner}/${repository.name}", Some(repository)){
|
||||||
@html.menu("pulls", repository){
|
@html.menu("pulls", repository){
|
||||||
|
@_root_.issues.html.tab("pulls", false, repository)
|
||||||
<div class="row-fluid">
|
<div class="row-fluid">
|
||||||
|
@*
|
||||||
<div class="span3">
|
<div class="span3">
|
||||||
<ul class="nav nav-pills nav-stacked">
|
<ul class="nav nav-pills nav-stacked">
|
||||||
<li@if(filter.isEmpty){ class="active"}>
|
<li@if(filter.isEmpty){ class="active"}>
|
||||||
@@ -45,7 +49,10 @@
|
|||||||
}
|
}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@listparts(issues, page, openCount, closedCount, condition, Some(repository), hasWritePermission)
|
*@
|
||||||
|
<div class="span12">
|
||||||
|
@listparts(issues, page, openCount, closedCount, condition, collaborators, milestones, labels, Some(repository), hasWritePermission)
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,25 +3,30 @@
|
|||||||
openCount: Int,
|
openCount: Int,
|
||||||
closedCount: Int,
|
closedCount: Int,
|
||||||
condition: service.IssuesService.IssueSearchCondition,
|
condition: service.IssuesService.IssueSearchCondition,
|
||||||
|
collaborators: List[String] = Nil,
|
||||||
|
milestones: List[model.Milestone] = Nil,
|
||||||
|
labels: List[model.Label] = Nil,
|
||||||
repository: Option[service.RepositoryService.RepositoryInfo],
|
repository: Option[service.RepositoryService.RepositoryInfo],
|
||||||
hasWritePermission: Boolean)(implicit context: app.Context)
|
hasWritePermission: Boolean)(implicit context: app.Context)
|
||||||
@import context._
|
@import context._
|
||||||
@import view.helpers._
|
@import view.helpers._
|
||||||
@import service.IssuesService.IssueInfo
|
@import service.IssuesService.IssueInfo
|
||||||
<div class="span9">
|
@*
|
||||||
@repository.map { repository =>
|
@repository.map { repository =>
|
||||||
@if(hasWritePermission){
|
@if(hasWritePermission){
|
||||||
<div class="pull-right">
|
<div class="pull-right">
|
||||||
@helper.html.paginator(page, (if(condition.state == "open") openCount else closedCount), service.PullRequestService.PullRequestLimit, 7, condition.toURL)
|
@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-small btn-success">New pull request</a>
|
<a href="@url(repository)/compare" class="btn btn-small btn-success">New pull request</a>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
<div class="btn-group">
|
*@
|
||||||
|
@*
|
||||||
|
<div class="btn-group">
|
||||||
<a class="btn btn-small@if(condition.state == "open"){ active}" href="@condition.copy(state = "open").toURL">@openCount Open</a>
|
<a class="btn btn-small@if(condition.state == "open"){ active}" href="@condition.copy(state = "open").toURL">@openCount Open</a>
|
||||||
<a class="btn btn-small@if(condition.state == "closed"){ active}" href="@condition.copy(state = "closed").toURL">@closedCount Closed</a>
|
<a class="btn btn-small@if(condition.state == "closed"){ active}" href="@condition.copy(state = "closed").toURL">@closedCount Closed</a>
|
||||||
</div>
|
</div>
|
||||||
@helper.html.dropdown(
|
@helper.html.dropdown(
|
||||||
value = (condition.sort, condition.direction) match {
|
value = (condition.sort, condition.direction) match {
|
||||||
case ("created" , "desc") => "Newest"
|
case ("created" , "desc") => "Newest"
|
||||||
case ("created" , "asc" ) => "Oldest"
|
case ("created" , "asc" ) => "Oldest"
|
||||||
@@ -32,7 +37,92 @@
|
|||||||
},
|
},
|
||||||
prefix = "Sort",
|
prefix = "Sort",
|
||||||
mini = false
|
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">
|
||||||
|
<tr>
|
||||||
|
<th style="background-color: #eee;">
|
||||||
|
<input type="checkbox"/>
|
||||||
|
<a class="button-link@if(condition.state == "open" ){ selected}" href="@condition.copy(state = "open" ).toURL">@openCount Open</a>
|
||||||
|
<a class="button-link@if(condition.state == "closed"){ selected}" href="@condition.copy(state = "closed").toURL">@closedCount Closed</a>
|
||||||
|
<div class="pull-right">
|
||||||
|
@helper.html.dropdown("Author", flat = true) {
|
||||||
|
@collaborators.map { collaborator =>
|
||||||
|
<li>
|
||||||
|
<a href="@condition.copy(author = (if(condition.author == Some(collaborator)) None else Some(collaborator))).toURL">
|
||||||
|
@helper.html.checkicon(condition.author == Some(collaborator))
|
||||||
|
@avatar(collaborator, 20) @collaborator
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@helper.html.dropdown("Label", flat = true) {
|
||||||
|
@labels.map { label =>
|
||||||
|
<li>
|
||||||
|
<a href="@condition.copy(labels = (if(condition.labels.contains(label.labelName)) condition.labels - label.labelName else condition.labels + label.labelName)).toURL">
|
||||||
|
@helper.html.checkicon(condition.labels.contains(label.labelName))
|
||||||
|
<span style="background-color: #@label.color;" class="label-color"> </span>
|
||||||
|
@label.labelName
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@helper.html.dropdown("Milestone", flat = true) {
|
||||||
|
<li>
|
||||||
|
<a href="@condition.copy(milestoneId = Some(None)).toURL">
|
||||||
|
@helper.html.checkicon(condition.milestoneId == Some(None)) Issues with no milestone
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
@milestones.filter(_.closedDate.isEmpty).map { milestone =>
|
||||||
|
<li>
|
||||||
|
<a href="@condition.copy(milestoneId = Some(Some(milestone.milestoneId))).toURL">
|
||||||
|
@helper.html.checkicon(condition.milestoneId == Some(Some(milestone.milestoneId))) @milestone.title
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@helper.html.dropdown("Assignee", flat = true) {
|
||||||
|
@collaborators.map { collaborator =>
|
||||||
|
<li>
|
||||||
|
<a href="@condition.copy(assigned = Some(collaborator)).toURL">
|
||||||
|
@helper.html.checkicon(condition.assigned == Some(collaborator))
|
||||||
|
@avatar(collaborator, 20) @collaborator
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@helper.html.dropdown("Sort", flat = true){
|
||||||
<li>
|
<li>
|
||||||
<a href="@condition.copy(sort="created", direction="desc").toURL">
|
<a href="@condition.copy(sort="created", direction="desc").toURL">
|
||||||
@helper.html.checkicon(condition.sort == "created" && condition.direction == "desc") Newest
|
@helper.html.checkicon(condition.sort == "created" && condition.direction == "desc") Newest
|
||||||
@@ -64,7 +154,9 @@
|
|||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
}
|
}
|
||||||
<table class="table table-bordered table-hover table-issues">
|
</div>
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
@if(issues.isEmpty){
|
@if(issues.isEmpty){
|
||||||
<tr>
|
<tr>
|
||||||
<td style="padding: 20px; background-color: #eee; text-align: center;">
|
<td style="padding: 20px; background-color: #eee; text-align: center;">
|
||||||
@@ -74,28 +166,33 @@
|
|||||||
}
|
}
|
||||||
@issues.map { case IssueInfo(issue, labels, milestone, commentCount) =>
|
@issues.map { case IssueInfo(issue, labels, milestone, commentCount) =>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td style="padding-top: 15px; padding-bottom: 15px;">
|
||||||
<img src="@assets/common/images/pullreq-@(if(issue.closed) "closed" else "open").png"/>
|
@if(hasWritePermission){
|
||||||
|
<label class="checkbox" style="cursor: default;">
|
||||||
|
<input type="checkbox" value="@issue.issueId"/>
|
||||||
|
}
|
||||||
|
<img src="@assets/common/images/pullreq-@(if(issue.closed) "closed" else "open").png" style="margin-right: 20px;"/>
|
||||||
<a href="@path/@issue.userName/@issue.repositoryName/pull/@issue.issueId" class="issue-title">@issue.title</a>
|
<a href="@path/@issue.userName/@issue.repositoryName/pull/@issue.issueId" class="issue-title">@issue.title</a>
|
||||||
<span class="pull-right muted">#@issue.issueId</span>
|
@labels.map { label =>
|
||||||
<div style="margin-left: 20px;">
|
<span class="label-color small" style="background-color: #@label.color; color: #@label.fontColor; padding-left: 4px; padding-right: 4px">@label.labelName</span>
|
||||||
@issue.content.map { content =>
|
|
||||||
@cut(content, 90)
|
|
||||||
}.getOrElse {
|
|
||||||
<span class="muted">No description available</span>
|
|
||||||
}
|
}
|
||||||
</div>
|
<span class="pull-right muted">
|
||||||
<div class="small muted" style="margin-left: 20px;">
|
@issue.assignedUserName.map { userName =>
|
||||||
@avatarLink(issue.openedUserName, 20) by @user(issue.openedUserName, styleClass="username") @datetime(issue.registeredDate)
|
@avatar(userName, 20, tooltip = true)
|
||||||
@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>
|
|
||||||
}
|
}
|
||||||
|
<a href="@path/@issue.userName/@issue.repositoryName/issues/@issue.issueId" class="issue-comment-count"><i class="icon-comment"></i>@commentCount</a>
|
||||||
|
</span>
|
||||||
|
<div class="small muted" style="margin-left: 40px; margin-top: 5px;">
|
||||||
|
#@issue.issueId opened by @user(issue.openedUserName, styleClass="username") @datetime(issue.registeredDate)
|
||||||
|
<span style="margin: 20px;"><a href="@condition.copy(milestoneId = Some(Some(1))).toURL" class="username">@milestone</a></span>
|
||||||
</div>
|
</div>
|
||||||
|
@if(hasWritePermission){
|
||||||
|
</label>
|
||||||
|
}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
}
|
}
|
||||||
</table>
|
</table>
|
||||||
<div class="pull-right">
|
<div class="pull-right">
|
||||||
@helper.html.paginator(page, (if(condition.state == "open") openCount else closedCount), service.PullRequestService.PullRequestLimit, 10, condition.toURL)
|
@helper.html.paginator(page, (if(condition.state == "open") openCount else closedCount), service.PullRequestService.PullRequestLimit, 10, condition.toURL)
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
Reference in New Issue
Block a user