(refs #508)Remove repository filter

This commit is contained in:
Naoki Takezoe
2014-11-11 13:10:07 +09:00
parent 37a399c3a2
commit 055f648ea2
2 changed files with 6 additions and 42 deletions

View File

@@ -29,23 +29,19 @@ trait DashboardControllerBase extends ControllerBase {
}) })
get("/dashboard/pulls")(usersOnly { get("/dashboard/pulls")(usersOnly {
searchPullRequests("created_by", None) searchPullRequests("created_by")
}) })
get("/dashboard/pulls/created_by")(usersOnly { get("/dashboard/pulls/created_by")(usersOnly {
searchPullRequests("created_by", None) searchPullRequests("created_by")
}) })
get("/dashboard/pulls/assigned")(usersOnly { get("/dashboard/pulls/assigned")(usersOnly {
searchPullRequests("assigned", None) searchPullRequests("assigned")
}) })
get("/dashboard/pulls/mentioned")(usersOnly { get("/dashboard/pulls/mentioned")(usersOnly {
searchPullRequests("mentioned", None) searchPullRequests("mentioned")
})
get("/dashboard/pulls/for/:owner/:repository")(usersOnly {
searchPullRequests("all", Some(params("owner") + "/" + params("repository")))
}) })
private def searchIssues(filter: String) = { private def searchIssues(filter: String) = {
@@ -72,7 +68,7 @@ trait DashboardControllerBase extends ControllerBase {
getGroupNames(userName)) getGroupNames(userName))
} }
private def searchPullRequests(filter: String, repository: Option[String]) = { private def searchPullRequests(filter: String) = {
import IssuesService._ import IssuesService._
import PullRequestService._ import PullRequestService._
@@ -80,7 +76,7 @@ trait DashboardControllerBase extends ControllerBase {
val condition = session.putAndGet(Keys.Session.DashboardPulls, { val condition = session.putAndGet(Keys.Session.DashboardPulls, {
if(request.hasQueryString) IssueSearchCondition(request) if(request.hasQueryString) IssueSearchCondition(request)
else session.getAs[IssueSearchCondition](Keys.Session.DashboardPulls).getOrElse(IssueSearchCondition()) else session.getAs[IssueSearchCondition](Keys.Session.DashboardPulls).getOrElse(IssueSearchCondition())
}.copy(repo = repository)) })
val userName = context.loginAccount.get.userName val userName = context.loginAccount.get.userName
val allRepos = getAllRepositories(userName) val allRepos = getAllRepositories(userName)

View File

@@ -78,29 +78,6 @@ trait IssuesService {
.toMap .toMap
} }
// /**
// * Returns list which contains issue count for each repository.
// * If the issue does not exist, its repository is not included in the result.
// *
// * @param condition the search condition
// * @param onlyPullRequest if true then returns only pull request, false then returns both of issue and pull request.
// * @param repos Tuple of the repository owner and the repository name
// * @return list which contains issue count for each repository
// */
// def countIssueGroupByRepository(
// condition: IssueSearchCondition, filterUser: Map[String, String], onlyPullRequest: Boolean,
// repos: (String, String)*)(implicit s: Session): List[(String, String, Int)] = {
// searchIssueQuery(repos, condition.copy(repo = None), filterUser, onlyPullRequest)
// .groupBy { t =>
// t.userName -> t.repositoryName
// }
// .map { case (repo, t) =>
// (repo._1, repo._2, t.length)
// }
// .sortBy(_._3 desc)
// .list
// }
/** /**
* Returns the search result against issues. * Returns the search result against issues.
* *
@@ -161,11 +138,6 @@ trait IssuesService {
private def searchIssueQuery(repos: Seq[(String, String)], condition: IssueSearchCondition, private def searchIssueQuery(repos: Seq[(String, String)], condition: IssueSearchCondition,
filterUser: Map[String, String], pullRequest: Boolean)(implicit s: Session) = filterUser: Map[String, String], pullRequest: Boolean)(implicit s: Session) =
Issues filter { t1 => Issues filter { t1 =>
condition.repo
.map { _.split('/') match { case array => Seq(array(0) -> array(1)) } }
.getOrElse (repos)
.map { case (owner, repository) => t1.byRepository(owner, repository) }
.foldLeft[Column[Boolean]](false) ( _ || _ ) &&
(t1.closed === (condition.state == "closed").bind) && (t1.closed === (condition.state == "closed").bind) &&
(t1.milestoneId === condition.milestoneId.get.get.bind, condition.milestoneId.flatten.isDefined) && (t1.milestoneId === condition.milestoneId.get.get.bind, condition.milestoneId.flatten.isDefined) &&
(t1.milestoneId.? isEmpty, condition.milestoneId == Some(None)) && (t1.milestoneId.? isEmpty, condition.milestoneId == Some(None)) &&
@@ -354,7 +326,6 @@ object IssuesService {
milestoneId: Option[Option[Int]] = None, milestoneId: Option[Option[Int]] = None,
author: Option[String] = None, author: Option[String] = None,
assigned: Option[String] = None, assigned: Option[String] = None,
repo: Option[String] = None,
state: String = "open", state: String = "open",
sort: String = "created", sort: String = "created",
direction: String = "desc", direction: String = "desc",
@@ -398,7 +369,6 @@ object IssuesService {
}}, }},
author .map(x => "author=" + urlEncode(x)), author .map(x => "author=" + urlEncode(x)),
assigned.map(x => "assigned=" + urlEncode(x)), assigned.map(x => "assigned=" + urlEncode(x)),
repo.map("for=" + urlEncode(_)),
Some("state=" + urlEncode(state)), Some("state=" + urlEncode(state)),
Some("sort=" + urlEncode(sort)), Some("sort=" + urlEncode(sort)),
Some("direction=" + urlEncode(direction)), Some("direction=" + urlEncode(direction)),
@@ -444,7 +414,6 @@ object IssuesService {
}, },
conditions.get("author").flatMap(_.headOption), conditions.get("author").flatMap(_.headOption),
conditions.get("assignee").flatMap(_.headOption), conditions.get("assignee").flatMap(_.headOption),
None, // TODO??
conditions.get("is").getOrElse(Seq.empty).filter(x => x == "open" || x == "closed").headOption.getOrElse("open"), conditions.get("is").getOrElse(Seq.empty).filter(x => x == "open" || x == "closed").headOption.getOrElse("open"),
sort, sort,
direction, direction,
@@ -465,7 +434,6 @@ object IssuesService {
}, },
param(request, "author"), param(request, "author"),
param(request, "assigned"), param(request, "assigned"),
param(request, "for"),
param(request, "state", Seq("open", "closed")).getOrElse("open"), param(request, "state", Seq("open", "closed")).getOrElse("open"),
param(request, "sort", Seq("created", "comments", "updated")).getOrElse("created"), param(request, "sort", Seq("created", "comments", "updated")).getOrElse("created"),
param(request, "direction", Seq("asc", "desc")).getOrElse("desc"), param(request, "direction", Seq("asc", "desc")).getOrElse("desc"),