From 43c8518a409cb1f52cb77e6aaccf55f80029e034 Mon Sep 17 00:00:00 2001 From: Naoki Takezoe Date: Sun, 28 May 2017 13:26:06 +0900 Subject: [PATCH] (refs #1610)Redirect if the issue is a pull request --- .../core/controller/IssuesController.scala | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/src/main/scala/gitbucket/core/controller/IssuesController.scala b/src/main/scala/gitbucket/core/controller/IssuesController.scala index eeb19ac17..d1499157b 100644 --- a/src/main/scala/gitbucket/core/controller/IssuesController.scala +++ b/src/main/scala/gitbucket/core/controller/IssuesController.scala @@ -76,7 +76,7 @@ trait IssuesControllerBase extends ControllerBase { get("/:owner/:repository/issues")(referrersOnly { repository => val q = request.getParameter("q") if(Option(q).exists(_.contains("is:pr"))){ - redirect(s"/${repository.owner}/${repository.name}/pulls?q=" + StringUtil.urlEncode(q)) + redirect(s"/${repository.owner}/${repository.name}/pulls?q=${StringUtil.urlEncode(q)}") } else { searchIssues(repository) } @@ -84,17 +84,21 @@ trait IssuesControllerBase extends ControllerBase { get("/:owner/:repository/issues/:id")(referrersOnly { repository => defining(repository.owner, repository.name, params("id")){ case (owner, name, issueId) => - getIssue(owner, name, issueId) map { - html.issue( - _, - getComments(owner, name, issueId.toInt), - getIssueLabels(owner, name, issueId.toInt), - getAssignableUserNames(owner, name), - getMilestonesWithIssueCount(owner, name), - getLabels(owner, name), - isIssueEditable(repository), - isIssueManageable(repository), - repository) + getIssue(owner, name, issueId) map { issue => + if(issue.isPullRequest){ + redirect(s"/${repository.owner}/${repository.name}/pull/${issueId}") + } else { + html.issue( + issue, + getComments(owner, name, issueId.toInt), + getIssueLabels(owner, name, issueId.toInt), + getAssignableUserNames(owner, name), + getMilestonesWithIssueCount(owner, name), + getLabels(owner, name), + isIssueEditable(repository), + isIssueManageable(repository), + repository) + } } getOrElse NotFound() } })