diff --git a/src/main/scala/app/IssuesController.scala b/src/main/scala/app/IssuesController.scala index e0c32c2..0167751 100644 --- a/src/main/scala/app/IssuesController.scala +++ b/src/main/scala/app/IssuesController.scala @@ -19,7 +19,16 @@ )(IssueForm.apply) get("/:owner/:repository/issues"){ - issues.html.issues(getRepository(params("owner"), params("repository"), baseUrl).get) + val owner = params("owner") + val repository = params("repository") + + // search condition + val closed = params.get("state") collect { + case "closed" => true + } getOrElse false + + issues.html.issues(searchIssue(owner, repository, closed), + getRepository(params("owner"), params("repository"), baseUrl).get) } get("/:owner/:repository/issues/:id"){ @@ -27,8 +36,8 @@ val repository = params("repository") val issueId = params("id") - getIssue(owner, repository, issueId) map { issue => - issues.html.issue(issue, getRepository(owner, repository, baseUrl).get) + getIssue(owner, repository, issueId) map { + issues.html.issue(_, getRepository(owner, repository, baseUrl).get) } getOrElse NotFound } diff --git a/src/main/scala/service/IssuesService.scala b/src/main/scala/service/IssuesService.scala index ab325df..d23481c 100644 --- a/src/main/scala/service/IssuesService.scala +++ b/src/main/scala/service/IssuesService.scala @@ -17,6 +17,15 @@ } firstOption else None + def searchIssue(owner: String, repository: String, + // TODO It is better to have a DTO + closed: Boolean) = + Query(Issues) filter { t => + (t.userName is owner.bind) && + (t.repositoryName is repository.bind) && + (t.closed is closed.bind) + } list + def saveIssue(owner: String, repository: String, loginUser: String, title: String, content: Option[String]) = // next id number diff --git a/src/main/twirl/issues/issues.scala.html b/src/main/twirl/issues/issues.scala.html index a07eb16..46d87b4 100644 --- a/src/main/twirl/issues/issues.scala.html +++ b/src/main/twirl/issues/issues.scala.html @@ -1,4 +1,4 @@ -@(repository: service.RepositoryService.RepositoryInfo)(implicit context: app.Context) +@(issues: List[model.Issue], repository: service.RepositoryService.RepositoryInfo)(implicit context: app.Context) @import context._ @html.main("Issues - " + repository.owner + "/" + repository.name){ @html.header("issues", repository) @@ -33,17 +33,13 @@
- 2.1 migration issue - ebean - |
- Serving Play new app sample code page with hyper links
-
- Opened by shimamoto
-
- |