mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-15 09:55:49 +01:00
Show the number of milestones on the sidebar menu (#2500)
This commit is contained in:
@@ -342,6 +342,10 @@ trait RepositoryService {
|
||||
repository.originUserName.getOrElse(repository.userName),
|
||||
repository.originRepositoryName.getOrElse(repository.repositoryName)
|
||||
),
|
||||
getOpenMilestones(
|
||||
repository.originUserName.getOrElse(repository.userName),
|
||||
repository.originRepositoryName.getOrElse(repository.repositoryName)
|
||||
),
|
||||
getRepositoryManagers(repository.userName, repository.repositoryName)
|
||||
)
|
||||
}
|
||||
@@ -697,6 +701,14 @@ trait RepositoryService {
|
||||
(t.originUserName === userName.bind) && (t.originRepositoryName === repositoryName.bind)
|
||||
}.length).first
|
||||
|
||||
private def getOpenMilestones(userName: String, repositoryName: String)(implicit s: Session): Int =
|
||||
Query(
|
||||
Milestones
|
||||
.filter(_.byRepository(userName, repositoryName))
|
||||
.filter(_.closedDate.isEmpty)
|
||||
.length
|
||||
).first
|
||||
|
||||
def getForkedRepositories(userName: String, repositoryName: String)(implicit s: Session): List[Repository] =
|
||||
Repositories
|
||||
.filter { t =>
|
||||
@@ -749,6 +761,7 @@ object RepositoryService {
|
||||
issueCount: Int,
|
||||
pullCount: Int,
|
||||
forkedCount: Int,
|
||||
milestoneCount: Int,
|
||||
branchList: Seq[String],
|
||||
tags: Seq[JGitUtil.TagInfo],
|
||||
managers: Seq[String]
|
||||
@@ -763,15 +776,27 @@ object RepositoryService {
|
||||
issueCount: Int,
|
||||
pullCount: Int,
|
||||
forkedCount: Int,
|
||||
milestoneCount: Int,
|
||||
managers: Seq[String]
|
||||
) =
|
||||
this(repo.owner, repo.name, model, issueCount, pullCount, forkedCount, repo.branchList, repo.tags, managers)
|
||||
this(
|
||||
repo.owner,
|
||||
repo.name,
|
||||
model,
|
||||
issueCount,
|
||||
pullCount,
|
||||
forkedCount,
|
||||
milestoneCount,
|
||||
repo.branchList,
|
||||
repo.tags,
|
||||
managers
|
||||
)
|
||||
|
||||
/**
|
||||
* Creates instance without issue and pull request count.
|
||||
* Creates instance without issue, pull request, and milestone count.
|
||||
*/
|
||||
def this(repo: JGitUtil.RepositoryInfo, model: Repository, forkedCount: Int, managers: Seq[String]) =
|
||||
this(repo.owner, repo.name, model, 0, 0, forkedCount, repo.branchList, repo.tags, managers)
|
||||
this(repo.owner, repo.name, model, 0, 0, forkedCount, 0, repo.branchList, repo.tags, managers)
|
||||
|
||||
def httpUrl(implicit context: Context): String = RepositoryService.httpUrl(owner, name)
|
||||
def sshUrl(implicit context: Context): Option[String] = RepositoryService.sshUrl(owner, name)
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
@menuitem("/pulls", "pulls", "Pull requests", "git-pull-request", repository.pullCount)
|
||||
@menuitem("/issues/labels", "labels", "Labels", "tag")
|
||||
@menuitem("/issues/priorities", "priorities", "Priorities", "flame")
|
||||
@menuitem("/issues/milestones", "milestones", "Milestones", "milestone")
|
||||
@menuitem("/issues/milestones", "milestones", "Milestones", "milestone", repository.milestoneCount)
|
||||
} else {
|
||||
@repository.repository.options.externalIssuesUrl.map { externalIssuesUrl =>
|
||||
@menuitem(externalIssuesUrl, "issues", "Issues", "issue-opened")
|
||||
|
||||
@@ -79,6 +79,7 @@ object ApiSpecModels {
|
||||
issueCount = 1,
|
||||
pullCount = 1,
|
||||
forkedCount = 1,
|
||||
milestoneCount = 1,
|
||||
branchList = Seq("master", "develop"),
|
||||
tags = Seq(
|
||||
TagInfo(name = "v1.0", time = date("2015-05-05T23:40:27Z"), id = "id1", message = "1.0 released"),
|
||||
|
||||
Reference in New Issue
Block a user