Upgrade scalatra-forms.

This commit is contained in:
takezoe
2013-08-09 18:06:33 +09:00
parent 1b0269c567
commit 629b714dab
12 changed files with 40 additions and 37 deletions

View File

@@ -167,12 +167,12 @@ trait AccountManagementControllerBase extends ControllerBase with FileUploadCont
}
protected def uniqueUserName: Constraint = new Constraint(){
def validate(name: String, value: String): Option[String] =
override def validate(name: String, value: String): Option[String] =
getAccountByUserName(value).map { _ => "User already exists." }
}
protected def uniqueMailAddress(paramName: String = ""): Constraint = new Constraint(){
def validate(name: String, value: String): Option[String] =
override def validate(name: String, value: String, params: Map[String, String]): Option[String] =
getAccountByMailAddress(value)
.filter { x => if(paramName.isEmpty) true else Some(x.userName) != params.get(paramName) }
.map { _ => "Mail address is already registered." }

View File

@@ -180,7 +180,7 @@ trait CreateRepositoryControllerBase extends ControllerBase {
}
private def existsAccount: Constraint = new Constraint(){
def validate(name: String, value: String): Option[String] =
override def validate(name: String, value: String): Option[String] =
if(getAccountByUserName(value).isEmpty) Some("User or group does not exist.") else None
}
@@ -188,7 +188,7 @@ trait CreateRepositoryControllerBase extends ControllerBase {
* Duplicate check for the repository name.
*/
private def unique: Constraint = new Constraint(){
def validate(name: String, value: String): Option[String] =
override def validate(name: String, value: String, params: Map[String, String]): Option[String] =
params.get("owner").flatMap { userName =>
getRepositoryNamesOfUser(userName).find(_ == value).map(_ => "Repository already exists.")
}

View File

@@ -51,7 +51,7 @@ trait LabelsControllerBase extends ControllerBase {
* Constraint for the identifier such as user name, repository name or page name.
*/
private def labelName: Constraint = new Constraint(){
def validate(name: String, value: String): Option[String] =
override def validate(name: String, value: String): Option[String] =
if(!value.matches("^[^,]+$")){
Some(s"${name} contains invalid character.")
} else if(value.startsWith("_") || value.startsWith("-")){

View File

@@ -112,7 +112,7 @@ trait RepositorySettingsControllerBase extends ControllerBase with FlashMapSuppo
* Provides Constraint to validate the collaborator name.
*/
private def collaborator: Constraint = new Constraint(){
def validate(name: String, value: String): Option[String] = {
override def validate(name: String, value: String): Option[String] = {
val paths = request.getRequestURI.split("/")
getAccountByUserName(value) match {
case None => Some("User does not exist.")

View File

@@ -16,16 +16,13 @@ trait SystemSettingsControllerBase extends ControllerBase with FlashMapSupport {
"allowAccountRegistration" -> trim(label("Account registration", boolean())),
"gravatar" -> trim(label("Gravatar", boolean())),
"notification" -> trim(label("Notification", boolean())),
"smtp" -> mapping(
"host" -> trim(label("SMTP Host", text(new Constraint(){
def validate(name: String, value: String): Option[String] =
if(params.get("notification").exists(_ == "on")) required.validate(name, value) else None
}))),
"smtp" -> optionalIfNotChecked("notification", mapping(
"host" -> trim(label("SMTP Host", text(required))),
"port" -> trim(label("SMTP Port", optional(number()))),
"user" -> trim(label("SMTP User", optional(text()))),
"password" -> trim(label("SMTP Password", optional(text()))),
"ssl" -> trim(label("Enable SSL", optional(boolean())))
)(Smtp.apply)
)(Smtp.apply))
)(SystemSettings.apply)

View File

@@ -136,12 +136,12 @@ trait WikiControllerBase extends ControllerBase {
})
private def unique: Constraint = new Constraint(){
def validate(name: String, value: String): Option[String] =
override def validate(name: String, value: String, params: Map[String, String]): Option[String] =
getWikiPageList(params("owner"), params("repository")).find(_ == value).map(_ => "Page already exists.")
}
private def pagename: Constraint = new Constraint(){
def validate(name: String, value: String): Option[String] =
override def validate(name: String, value: String): Option[String] =
if(value.exists("\\/:*?\"<>|".contains(_))){
Some(s"${name} contains invalid character.")
} else if(value.startsWith("_") || value.startsWith("-")){