diff --git a/src/main/scala/service/IssuesService.scala b/src/main/scala/service/IssuesService.scala index 292b93a..c49d982 100644 --- a/src/main/scala/service/IssuesService.scala +++ b/src/main/scala/service/IssuesService.scala @@ -116,7 +116,7 @@ */ def searchIssue(condition: IssueSearchCondition, filterUser: Map[String, String], onlyPullRequest: Boolean, offset: Int, limit: Int, repos: (String, String)*) - (implicit s: Session): List[(Issue, List[Label], Int)] = { + (implicit s: Session): List[(Issue, List[Label], Option[String], Int)] = { // get issues and comment count and labels searchIssueQuery(repos, condition, filterUser, onlyPullRequest) @@ -136,21 +136,23 @@ .drop(offset).take(limit) .leftJoin (IssueLabels) .on { case ((t1, t2), t3) => t1.byIssue(t3.userName, t3.repositoryName, t3.issueId) } .leftJoin (Labels) .on { case (((t1, t2), t3), t4) => t3.byLabel(t4.userName, t4.repositoryName, t4.labelId) } - .map { case (((t1, t2), t3), t4) => - (t1, t2.commentCount, t4.labelId.?, t4.labelName.?, t4.color.?) + .leftJoin (Milestones) .on { case ((((t1, t2), t3), t4), t5) => t1.byMilestone(t5.userName, t5.repositoryName, t5.milestoneId) } + .map { case ((((t1, t2), t3), t4), t5) => + (t1, t2.commentCount, t4.labelId.?, t4.labelName.?, t4.color.?, t5.title.?) } .list .splitWith { (c1, c2) => - c1._1.userName == c2._1.userName && + c1._1.userName == c2._1.userName && c1._1.repositoryName == c2._1.repositoryName && - c1._1.issueId == c2._1.issueId + c1._1.issueId == c2._1.issueId } .map { issues => issues.head match { - case (issue, commentCount, _,_,_) => + case (issue, commentCount, _, _, _, milestone) => (issue, issues.flatMap { t => t._3.map ( Label(issue.userName, issue.repositoryName, _, t._4.get, t._5.get) )} toList, + milestone, commentCount) }} toList } diff --git a/src/main/twirl/dashboard/issueslist.scala.html b/src/main/twirl/dashboard/issueslist.scala.html index 8a96492..0d861ba 100644 --- a/src/main/twirl/dashboard/issueslist.scala.html +++ b/src/main/twirl/dashboard/issueslist.scala.html @@ -1,4 +1,4 @@ -@(issues: List[(model.Issue, List[model.Label], Int)], +@(issues: List[(model.Issue, List[model.Label], Option[String], Int)], page: Int, openCount: Int, closedCount: Int, @@ -135,7 +135,7 @@ } } - @issues.map { case (issue, labels, commentCount) => + @issues.map { case (issue, labels, milestone, commentCount) => @if(hasWritePermission){ diff --git a/src/main/twirl/dashboard/pullslist.scala.html b/src/main/twirl/dashboard/pullslist.scala.html index c0d0cdc..ef06e23 100644 --- a/src/main/twirl/dashboard/pullslist.scala.html +++ b/src/main/twirl/dashboard/pullslist.scala.html @@ -1,4 +1,4 @@ -@(issues: List[(model.Issue, List[model.Label], Int)], +@(issues: List[(model.Issue, List[model.Label], Option[String], Int)], page: Int, openCount: Int, closedCount: Int, @@ -71,7 +71,7 @@ } - @issues.map { case (issue, labels, commentCount) => + @issues.map { case (issue, labels, milestone, commentCount) => diff --git a/src/main/twirl/issues/list.scala.html b/src/main/twirl/issues/list.scala.html index 4264e54..ffc11ff 100644 --- a/src/main/twirl/issues/list.scala.html +++ b/src/main/twirl/issues/list.scala.html @@ -1,4 +1,4 @@ -@(issues: List[(model.Issue, List[model.Label], Int)], +@(issues: List[(model.Issue, List[model.Label], Option[String], Int)], page: Int, collaborators: List[String], milestones: List[model.Milestone], diff --git a/src/main/twirl/issues/listparts.scala.html b/src/main/twirl/issues/listparts.scala.html index 9721664..c315bc3 100644 --- a/src/main/twirl/issues/listparts.scala.html +++ b/src/main/twirl/issues/listparts.scala.html @@ -1,4 +1,4 @@ -@(issues: List[(model.Issue, List[model.Label], Int)], +@(issues: List[(model.Issue, List[model.Label], Option[String], Int)], page: Int, openCount: Int, closedCount: Int, @@ -146,7 +146,7 @@ } *@ } - @issues.map { case (issue, labels, commentCount) => + @issues.map { case (issue, labels, milestone, commentCount) => @if(hasWritePermission){ @@ -177,6 +177,7 @@
#@issue.issueId opened by @user(issue.openedUserName, styleClass="username") @datetime(issue.registeredDate) + @milestone
@if(hasWritePermission){ diff --git a/src/main/twirl/pulls/list.scala.html b/src/main/twirl/pulls/list.scala.html index a2fb30d..e72335f 100644 --- a/src/main/twirl/pulls/list.scala.html +++ b/src/main/twirl/pulls/list.scala.html @@ -1,4 +1,4 @@ -@(issues: List[(model.Issue, List[model.Label], Int)], +@(issues: List[(model.Issue, List[model.Label], Option[String], Int)], counts: List[service.PullRequestService.PullRequestCount], filter: Option[String], page: Int, diff --git a/src/main/twirl/pulls/listparts.scala.html b/src/main/twirl/pulls/listparts.scala.html index c0d0cdc..ef06e23 100644 --- a/src/main/twirl/pulls/listparts.scala.html +++ b/src/main/twirl/pulls/listparts.scala.html @@ -1,4 +1,4 @@ -@(issues: List[(model.Issue, List[model.Label], Int)], +@(issues: List[(model.Issue, List[model.Label], Option[String], Int)], page: Int, openCount: Int, closedCount: Int, @@ -71,7 +71,7 @@ } - @issues.map { case (issue, labels, commentCount) => + @issues.map { case (issue, labels, milestone, commentCount) =>