(refs #488) Fixed the action for issue and comment content change.

This commit is contained in:
shimamoto
2014-10-05 17:13:58 +09:00
parent fc806b8813
commit b1017140aa
6 changed files with 47 additions and 52 deletions

View File

@@ -21,7 +21,6 @@ trait IssuesControllerBase extends ControllerBase {
case class IssueCreateForm(title: String, content: Option[String],
assignedUserName: Option[String], milestoneId: Option[Int], labelNames: Option[String])
// case class IssueEditForm(title: String, content: Option[String])
case class CommentForm(issueId: Int, content: String)
case class IssueStateForm(issueId: Int, content: Option[String])
@@ -36,10 +35,9 @@ trait IssuesControllerBase extends ControllerBase {
val issueTitleEditForm = mapping(
"title" -> trim(label("Title", text(required)))
)(x => x)
// val issueEditForm = mapping(
// "title" -> trim(label("Title", text(required))),
// "content" -> trim(optional(text()))
// )(IssueEditForm.apply)
val issueEditForm = mapping(
"content" -> trim(optional(text()))
)(x => x)
val commentForm = mapping(
"issueId" -> label("Issue Id", number()),
@@ -126,7 +124,7 @@ trait IssuesControllerBase extends ControllerBase {
getIssue(owner, name, params("id")).map { issue =>
if(isEditable(owner, name, issue.openedUserName)){
// update issue
updateIssueTitle(owner, name, issue.issueId, title)
updateIssue(owner, name, issue.issueId, title, issue.content)
// extract references and create refer comment
// TODO Confirmation(about "issue" parameter)
createReferComment(owner, name, issue, title)
@@ -137,20 +135,20 @@ trait IssuesControllerBase extends ControllerBase {
}
})
// ajaxPost("/:owner/:repository/issues/edit/:id", issueEditForm)(readableUsersOnly { (form, repository) =>
// defining(repository.owner, repository.name){ case (owner, name) =>
// getIssue(owner, name, params("id")).map { issue =>
// if(isEditable(owner, name, issue.openedUserName)){
// // update issue
// updateIssue(owner, name, issue.issueId, form.title, form.content)
// // extract references and create refer comment
// createReferComment(owner, name, issue, form.title + " " + form.content.getOrElse(""))
//
// redirect(s"/${owner}/${name}/issues/_data/${issue.issueId}")
// } else Unauthorized
// } getOrElse NotFound
// }
// })
ajaxPost("/:owner/:repository/issues/edit/:id", issueEditForm)(readableUsersOnly { (content, repository) =>
defining(repository.owner, repository.name){ case (owner, name) =>
getIssue(owner, name, params("id")).map { issue =>
if(isEditable(owner, name, issue.openedUserName)){
// update issue
updateIssue(owner, name, issue.issueId, issue.title, content)
// extract references and create refer comment
createReferComment(owner, name, issue, content.getOrElse(""))
redirect(s"/${owner}/${name}/issues/_data/${issue.issueId}")
} else Unauthorized
} getOrElse NotFound
}
})
post("/:owner/:repository/issue_comments/new", commentForm)(readableUsersOnly { (form, repository) =>
handleComment(form.issueId, Some(form.content), repository)() map { case (issue, id) =>
@@ -192,7 +190,7 @@ trait IssuesControllerBase extends ControllerBase {
if(isEditable(x.userName, x.repositoryName, x.openedUserName)){
params.get("dataType") collect {
case t if t == "html" => issues.html.editissue(
x.title, x.content, x.issueId, x.userName, x.repositoryName)
x.content, x.issueId, x.userName, x.repositoryName)
} getOrElse {
contentType = formats("json")
org.json4s.jackson.Serialization.write(