From ec569839fe7c07db3e7e102727aa756397aa37fa Mon Sep 17 00:00:00 2001 From: Naoki Takezoe Date: Sat, 22 Sep 2018 08:46:54 +0900 Subject: [PATCH] Update issue link presentation --- src/main/scala/gitbucket/core/view/LinkConverter.scala | 10 +++++----- src/main/scala/gitbucket/core/view/helpers.scala | 6 ++++-- .../twirl/gitbucket/core/issues/commentlist.scala.html | 2 +- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/main/scala/gitbucket/core/view/LinkConverter.scala b/src/main/scala/gitbucket/core/view/LinkConverter.scala index 5b689d92f..cbfac591b 100644 --- a/src/main/scala/gitbucket/core/view/LinkConverter.scala +++ b/src/main/scala/gitbucket/core/view/LinkConverter.scala @@ -3,23 +3,23 @@ package gitbucket.core.view import gitbucket.core.controller.Context import gitbucket.core.service.{RepositoryService, RequestCache} import gitbucket.core.util.Implicits.RichString +import gitbucket.core.util.StringUtil trait LinkConverter { self: RequestCache => /** * Creates a link to the issue or the pull request from the issue id. */ - protected def createIssueLink(repository: RepositoryService.RepositoryInfo, issueId: Int)( + protected def createIssueLink(repository: RepositoryService.RepositoryInfo, issueId: Int, title: String)( implicit context: Context ): String = { val userName = repository.repository.userName val repositoryName = repository.repository.repositoryName getIssue(userName, repositoryName, issueId.toString) match { - case Some(issue) if (issue.isPullRequest) => - s"""Pull #${issueId}""" - case Some(_) => - s"""Issue #${issueId}""" + case Some(issue) => + s"""${StringUtil + .escapeHtml(title)} #${issueId}""" case None => s"Unknown #${issueId}" } diff --git a/src/main/scala/gitbucket/core/view/helpers.scala b/src/main/scala/gitbucket/core/view/helpers.scala index 4e757c79d..e3a8d6a13 100644 --- a/src/main/scala/gitbucket/core/view/helpers.scala +++ b/src/main/scala/gitbucket/core/view/helpers.scala @@ -156,8 +156,10 @@ object helpers extends AvatarImageProvider with LinkConverter with RequestCache /** * Creates a link to the issue or the pull request from the issue id. */ - def issueLink(repository: RepositoryService.RepositoryInfo, issueId: Int)(implicit context: Context): Html = { - Html(createIssueLink(repository, issueId)) + def issueLink(repository: RepositoryService.RepositoryInfo, issueId: Int, title: String)( + implicit context: Context + ): Html = { + Html(createIssueLink(repository, issueId, title)) } /** diff --git a/src/main/twirl/gitbucket/core/issues/commentlist.scala.html b/src/main/twirl/gitbucket/core/issues/commentlist.scala.html index cfb809f62..8f7f911e0 100644 --- a/src/main/twirl/gitbucket/core/issues/commentlist.scala.html +++ b/src/main/twirl/gitbucket/core/issues/commentlist.scala.html @@ -112,7 +112,7 @@
@defining(comment.content.split(":")){ case Array(issueId, rest @ _*) => - @helpers.issueLink(repository, issueId.toInt): @rest.mkString(":") + @helpers.issueLink(repository, issueId.toInt, rest.mkString(":")) }