mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-07 05:55:51 +01:00
(refs #77)Display issue count and pull request count on the global nav.
This commit is contained in:
@@ -71,9 +71,16 @@ trait RepositoryService { self: AccountService =>
|
|||||||
*/
|
*/
|
||||||
def getRepository(userName: String, repositoryName: String, baseUrl: String): Option[RepositoryInfo] = {
|
def getRepository(userName: String, repositoryName: String, baseUrl: String): Option[RepositoryInfo] = {
|
||||||
(Query(Repositories) filter { t => t.byRepository(userName, repositoryName) } firstOption) map { repository =>
|
(Query(Repositories) filter { t => t.byRepository(userName, repositoryName) } firstOption) map { repository =>
|
||||||
|
// for getting issue count and pull request count
|
||||||
|
val issues = Query(Issues).filter { t =>
|
||||||
|
t.byRepository(repository.userName, repository.repositoryName) && (t.closed is false.bind)
|
||||||
|
}.map(_.pullRequest).list
|
||||||
|
|
||||||
new RepositoryInfo(
|
new RepositoryInfo(
|
||||||
JGitUtil.getRepositoryInfo(repository.userName, repository.repositoryName, baseUrl),
|
JGitUtil.getRepositoryInfo(repository.userName, repository.repositoryName, baseUrl),
|
||||||
repository,
|
repository,
|
||||||
|
issues.size,
|
||||||
|
issues.filter(_ == true).size,
|
||||||
getForkedCount(
|
getForkedCount(
|
||||||
repository.originUserName.getOrElse(repository.userName),
|
repository.originUserName.getOrElse(repository.userName),
|
||||||
repository.originRepositoryName.getOrElse(repository.repositoryName)
|
repository.originRepositoryName.getOrElse(repository.repositoryName)
|
||||||
@@ -212,11 +219,20 @@ trait RepositoryService { self: AccountService =>
|
|||||||
object RepositoryService {
|
object RepositoryService {
|
||||||
|
|
||||||
case class RepositoryInfo(owner: String, name: String, url: String, repository: Repository,
|
case class RepositoryInfo(owner: String, name: String, url: String, repository: Repository,
|
||||||
commitCount: Int, forkedCount: Int, branchList: List[String], tags: List[util.JGitUtil.TagInfo]){
|
issueCount: Int, pullCount: Int, commitCount: Int, forkedCount: Int,
|
||||||
|
branchList: List[String], tags: List[util.JGitUtil.TagInfo]){
|
||||||
|
|
||||||
def this(repo: JGitUtil.RepositoryInfo, model: Repository, forkedCount: Int) = {
|
/**
|
||||||
this(repo.owner, repo.name, repo.url, model, repo.commitCount, forkedCount, repo.branchList, repo.tags)
|
* Creates instance with issue count and pull request count.
|
||||||
}
|
*/
|
||||||
|
def this(repo: JGitUtil.RepositoryInfo, model: Repository, issueCount: Int, pullCount: Int, forkedCount: Int) =
|
||||||
|
this(repo.owner, repo.name, repo.url, model, issueCount, pullCount, repo.commitCount, forkedCount, repo.branchList, repo.tags)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates instance without issue count and pull request count.
|
||||||
|
*/
|
||||||
|
def this(repo: JGitUtil.RepositoryInfo, model: Repository, forkedCount: Int) =
|
||||||
|
this(repo.owner, repo.name, repo.url, model, 0, 0, repo.commitCount, forkedCount, repo.branchList, repo.tags)
|
||||||
}
|
}
|
||||||
|
|
||||||
case class RepositoryTreeNode(owner: String, name: String, children: List[RepositoryTreeNode])
|
case class RepositoryTreeNode(owner: String, name: String, children: List[RepositoryTreeNode])
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="head">
|
<div class="head">
|
||||||
<a href="@url(repository.owner)">@repository.owner</a> / <a href="@url(repository)">@repository.name</a>
|
<a href="@url(repository.owner)">@repository.owner</a> / <a href="@url(repository)" class="strong">@repository.name</a>
|
||||||
@if(repository.repository.isPrivate){
|
@if(repository.repository.isPrivate){
|
||||||
<i class="icon-lock"></i>
|
<i class="icon-lock"></i>
|
||||||
}
|
}
|
||||||
@@ -27,9 +27,15 @@
|
|||||||
</th>
|
</th>
|
||||||
<th class="box-header@if(active=="issues"){ active}">
|
<th class="box-header@if(active=="issues"){ active}">
|
||||||
<a href="@url(repository)/issues">Issues</a>
|
<a href="@url(repository)/issues">Issues</a>
|
||||||
|
@if(repository.issueCount > 0){
|
||||||
|
<span class="badge">@repository.issueCount</span>
|
||||||
|
}
|
||||||
</th>
|
</th>
|
||||||
<th class="box-header@if(active=="pulls"){ active}">
|
<th class="box-header@if(active=="pulls"){ active}">
|
||||||
<a href="@url(repository)/pulls">Pull Requests</a>
|
<a href="@url(repository)/pulls">Pull Requests</a>
|
||||||
|
@if(repository.pullCount > 0){
|
||||||
|
<span class="badge">@repository.pullCount</span>
|
||||||
|
}
|
||||||
</th>
|
</th>
|
||||||
<th class="box-header@if(active=="wiki"){ active}">
|
<th class="box-header@if(active=="wiki"){ active}">
|
||||||
<a href="@url(repository)/wiki">Wiki</a>
|
<a href="@url(repository)/wiki">Wiki</a>
|
||||||
|
|||||||
Reference in New Issue
Block a user