Create comment on changing issue title

This commit is contained in:
Kazuki Shimizu
2018-05-19 17:48:30 +09:00
parent abf516682b
commit 0c0da0cbf7
2 changed files with 30 additions and 9 deletions

View File

@@ -154,15 +154,25 @@ trait IssuesControllerBase extends ControllerBase {
ajaxPost("/:owner/:repository/issues/edit_title/:id", issueTitleEditForm)(readableUsersOnly { (title, repository) =>
defining(repository.owner, repository.name) {
case (owner, name) =>
getIssue(owner, name, params("id")).map { issue =>
if (isEditableContent(owner, name, issue.openedUserName)) {
// update issue
updateIssue(owner, name, issue.issueId, title, issue.content)
// extract references and create refer comment
createReferComment(owner, name, issue.copy(title = title), title, context.loginAccount.get)
redirect(s"/${owner}/${name}/issues/_data/${issue.issueId}")
} else Unauthorized()
getIssue(owner, name, params("id")).map {
issue =>
if (isEditableContent(owner, name, issue.openedUserName)) {
if (issue.title != title) {
// update issue
updateIssue(owner, name, issue.issueId, title, issue.content)
// extract references and create refer comment
createReferComment(owner, name, issue.copy(title = title), title, context.loginAccount.get)
createComment(
owner,
name,
context.loginAccount.get.userName,
issue.issueId,
issue.title + "\r\n" + title,
"change_title"
)
}
redirect(s"/${owner}/${name}/issues/_data/${issue.issueId}")
} else Unauthorized()
} getOrElse NotFound()
}
})

View File

@@ -228,6 +228,17 @@
</div>
</div>
}
case "change_title" => {
<div class="discussion-item discussion-item-pencil">
<div class="discussion-item-header">
<span class="discussion-item-icon"><i class="octicon octicon-pencil"></i></span>
@helpers.avatar(comment.commentedUserName, 16)
@helpers.user(comment.commentedUserName, styleClass="username strong")
change title from <code>@comment.content.split("\r\n")(0)</code> to <code>@comment.content.split("\r\n")(1)</code>
@gitbucket.core.helper.html.datetimeago(comment.registeredDate)
</div>
</div>
}
case _ => {
@showFormattedComment(comment)
}