Update issue link presentation

This commit is contained in:
Naoki Takezoe
2018-09-22 08:46:54 +09:00
parent 35216d8a47
commit ec569839fe
3 changed files with 10 additions and 8 deletions

View File

@@ -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"""<a href="${context.path}/${userName}/${repositoryName}/pull/${issueId}">Pull #${issueId}</a>"""
case Some(_) =>
s"""<a href="${context.path}/${userName}/${repositoryName}/issues/${issueId}">Issue #${issueId}</a>"""
case Some(issue) =>
s"""<a href="${context.path}/${userName}/${repositoryName}/${if (issue.isPullRequest) "pull" else "issues"}/${issueId}"><strong>${StringUtil
.escapeHtml(title)}</strong> #${issueId}</a>"""
case None =>
s"Unknown #${issueId}"
}

View File

@@ -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))
}
/**

View File

@@ -112,7 +112,7 @@
</div>
<div style="discussion-item-content">
@defining(comment.content.split(":")){ case Array(issueId, rest @ _*) =>
<strong>@helpers.issueLink(repository, issueId.toInt): @rest.mkString(":")</strong>
@helpers.issueLink(repository, issueId.toInt, rest.mkString(":"))
}
</div>
</div>