Fix some Ajax URLs and Authenticators.

This commit is contained in:
takezoe
2013-07-03 01:45:38 +09:00
parent 00f921d330
commit 14187795fb
7 changed files with 108 additions and 84 deletions

View File

@@ -3,15 +3,15 @@ package app
import jp.sf.amateras.scalatra.forms._
import service._
import util.{WritableRepositoryAuthenticator, ReadableRepositoryAuthenticator, UsersOnlyAuthenticator}
import util.{CollaboratorsAuthenticator, ReferrerAuthenticator, UsersOnlyAuthenticator}
class MilestonesController extends MilestonesControllerBase
with MilestonesService with RepositoryService with AccountService
with ReadableRepositoryAuthenticator with WritableRepositoryAuthenticator
with ReferrerAuthenticator with CollaboratorsAuthenticator
trait MilestonesControllerBase extends ControllerBase {
self: MilestonesService with RepositoryService
with ReadableRepositoryAuthenticator with WritableRepositoryAuthenticator =>
with ReferrerAuthenticator with CollaboratorsAuthenticator =>
case class MilestoneForm(title: String, description: Option[String], dueDate: Option[java.util.Date])
@@ -21,7 +21,7 @@ trait MilestonesControllerBase extends ControllerBase {
"dueDate" -> trim(label("Due Date", optional(date())))
)(MilestoneForm.apply)
get("/:owner/:repository/issues/milestones")(readableRepository {
get("/:owner/:repository/issues/milestones")(referrersOnly {
val owner = params("owner")
val repository = params("repository")
val state = params.getOrElse("state", "open")
@@ -34,14 +34,14 @@ trait MilestonesControllerBase extends ControllerBase {
} getOrElse NotFound
})
get("/:owner/:repository/issues/milestones/new")(writableRepository {
get("/:owner/:repository/issues/milestones/new")(collaboratorsOnly {
val owner = params("owner")
val repository = params("repository")
getRepository(owner, repository, baseUrl).map(issues.milestones.html.edit(None, _)) getOrElse NotFound
})
post("/:owner/:repository/issues/milestones/new", milestoneForm)(writableRepository { form =>
post("/:owner/:repository/issues/milestones/new", milestoneForm)(collaboratorsOnly { form =>
val owner = params("owner")
val repository = params("repository")
@@ -49,7 +49,7 @@ trait MilestonesControllerBase extends ControllerBase {
redirect("/%s/%s/issues/milestones".format(owner, repository))
})
get("/:owner/:repository/issues/milestones/:milestoneId/edit")(writableRepository {
get("/:owner/:repository/issues/milestones/:milestoneId/edit")(collaboratorsOnly {
val owner = params("owner")
val repository = params("repository")
val milestoneId = params("milestoneId").toInt
@@ -58,7 +58,7 @@ trait MilestonesControllerBase extends ControllerBase {
issues.milestones.html.edit(getMilestone(owner, repository, milestoneId), _)) getOrElse NotFound
})
post("/:owner/:repository/issues/milestones/:milestoneId/edit", milestoneForm)(writableRepository { form =>
post("/:owner/:repository/issues/milestones/:milestoneId/edit", milestoneForm)(collaboratorsOnly { form =>
val owner = params("owner")
val repository = params("repository")
val milestoneId = params("milestoneId").toInt
@@ -69,7 +69,7 @@ trait MilestonesControllerBase extends ControllerBase {
} getOrElse NotFound
})
get("/:owner/:repository/issues/milestones/:milestoneId/close")(writableRepository {
get("/:owner/:repository/issues/milestones/:milestoneId/close")(collaboratorsOnly {
val owner = params("owner")
val repository = params("repository")
val milestoneId = params("milestoneId").toInt
@@ -80,7 +80,7 @@ trait MilestonesControllerBase extends ControllerBase {
} getOrElse NotFound
})
get("/:owner/:repository/issues/milestones/:milestoneId/open")(writableRepository {
get("/:owner/:repository/issues/milestones/:milestoneId/open")(collaboratorsOnly {
val owner = params("owner")
val repository = params("repository")
val milestoneId = params("milestoneId").toInt
@@ -91,7 +91,7 @@ trait MilestonesControllerBase extends ControllerBase {
} getOrElse NotFound
})
get("/:owner/:repository/issues/milestones/:milestoneId/delete")(writableRepository {
get("/:owner/:repository/issues/milestones/:milestoneId/delete")(collaboratorsOnly {
val owner = params("owner")
val repository = params("repository")
val milestoneId = params("milestoneId").toInt