mirror of
				https://github.com/gitbucket/gitbucket.git
				synced 2025-10-31 02:25:59 +01:00 
			
		
		
		
	Upgrade to scalatra-forms 0.0.4
This commit is contained in:
		| @@ -32,7 +32,7 @@ object MyBuild extends Build { | ||||
|         "org.scalatra" %% "scalatra-specs2" % ScalatraVersion % "test", | ||||
|         "org.scalatra" %% "scalatra-json" % ScalatraVersion, | ||||
|         "org.json4s" %% "json4s-jackson" % "3.2.5", | ||||
|         "jp.sf.amateras" %% "scalatra-forms" % "0.0.2", | ||||
|         "jp.sf.amateras" %% "scalatra-forms" % "0.0.4", | ||||
|         "commons-io" % "commons-io" % "2.4", | ||||
|         "org.pegdown" % "pegdown" % "1.4.1", | ||||
|         "org.apache.commons" % "commons-compress" % "1.5", | ||||
|   | ||||
| @@ -15,12 +15,13 @@ import service.AccountService | ||||
| import javax.servlet.http.{HttpServletResponse, HttpSession, HttpServletRequest} | ||||
| import java.text.SimpleDateFormat | ||||
| import javax.servlet.{FilterChain, ServletResponse, ServletRequest} | ||||
| import org.scalatra.i18n._ | ||||
|  | ||||
| /** | ||||
|  * Provides generic features for controller implementations. | ||||
|  */ | ||||
| abstract class ControllerBase extends ScalatraFilter | ||||
|   with ClientSideValidationFormSupport with JacksonJsonSupport with Validations { | ||||
|   with ClientSideValidationFormSupport with JacksonJsonSupport with I18nSupport with Validations { | ||||
|  | ||||
|   implicit val jsonFormats = DefaultFormats | ||||
|  | ||||
| @@ -169,12 +170,12 @@ trait AccountManagementControllerBase extends ControllerBase with FileUploadCont | ||||
|     } | ||||
|  | ||||
|   protected def uniqueUserName: Constraint = new Constraint(){ | ||||
|     override def validate(name: String, value: String): Option[String] = | ||||
|     override def validate(name: String, value: String, messages: Messages): Option[String] = | ||||
|       getAccountByUserName(value).map { _ => "User already exists." } | ||||
|   } | ||||
|  | ||||
|   protected def uniqueMailAddress(paramName: String = ""): Constraint = new Constraint(){ | ||||
|     override def validate(name: String, value: String, params: Map[String, String]): Option[String] = | ||||
|     override def validate(name: String, value: String, params: Map[String, String], messages: Messages): Option[String] = | ||||
|       getAccountByMailAddress(value) | ||||
|         .filter { x => if(paramName.isEmpty) true else Some(x.userName) != params.get(paramName) } | ||||
|         .map    { _ => "Mail address is already registered." } | ||||
|   | ||||
| @@ -4,12 +4,11 @@ import util.Directory._ | ||||
| import util.ControlUtil._ | ||||
| import util._ | ||||
| import service._ | ||||
| import java.io.File | ||||
| import org.eclipse.jgit.api.Git | ||||
| import org.apache.commons.io._ | ||||
| import jp.sf.amateras.scalatra.forms._ | ||||
| import org.eclipse.jgit.lib.{FileMode, Constants, PersonIdent} | ||||
| import org.eclipse.jgit.lib.{FileMode, Constants} | ||||
| import org.eclipse.jgit.dircache.DirCache | ||||
| import org.scalatra.i18n.Messages | ||||
|  | ||||
| class CreateRepositoryController extends CreateRepositoryControllerBase | ||||
|   with RepositoryService with AccountService with WikiService with LabelsService with ActivityService | ||||
| @@ -175,7 +174,7 @@ trait CreateRepositoryControllerBase extends ControllerBase { | ||||
|   } | ||||
|  | ||||
|   private def existsAccount: Constraint = new Constraint(){ | ||||
|     override def validate(name: String, value: String): Option[String] = | ||||
|     override def validate(name: String, value: String, messages: Messages): Option[String] = | ||||
|       if(getAccountByUserName(value).isEmpty) Some("User or group does not exist.") else None | ||||
|   } | ||||
|  | ||||
| @@ -183,7 +182,7 @@ trait CreateRepositoryControllerBase extends ControllerBase { | ||||
|    * Duplicate check for the repository name. | ||||
|    */ | ||||
|   private def unique: Constraint = new Constraint(){ | ||||
|     override def validate(name: String, value: String, params: Map[String, String]): Option[String] = | ||||
|     override def validate(name: String, value: String, params: Map[String, String], messages: Messages): Option[String] = | ||||
|       params.get("owner").flatMap { userName => | ||||
|         getRepositoryNamesOfUser(userName).find(_ == value).map(_ => "Repository already exists.") | ||||
|       } | ||||
|   | ||||
| @@ -3,6 +3,7 @@ package app | ||||
| import jp.sf.amateras.scalatra.forms._ | ||||
| import service._ | ||||
| import util.CollaboratorsAuthenticator | ||||
| import org.scalatra.i18n.Messages | ||||
|  | ||||
| class LabelsController extends LabelsControllerBase | ||||
|   with LabelsService with RepositoryService with AccountService with CollaboratorsAuthenticator | ||||
| @@ -51,7 +52,7 @@ trait LabelsControllerBase extends ControllerBase { | ||||
|    * Constraint for the identifier such as user name, repository name or page name. | ||||
|    */ | ||||
|   private def labelName: Constraint = new Constraint(){ | ||||
|     override def validate(name: String, value: String): Option[String] = | ||||
|     override def validate(name: String, value: String, messages: Messages): Option[String] = | ||||
|       if(!value.matches("^[^,]+$")){ | ||||
|         Some(s"${name} contains invalid character.") | ||||
|       } else if(value.startsWith("_") || value.startsWith("-")){ | ||||
|   | ||||
| @@ -6,6 +6,7 @@ import util.{UsersAuthenticator, OwnerAuthenticator} | ||||
| import jp.sf.amateras.scalatra.forms._ | ||||
| import org.apache.commons.io.FileUtils | ||||
| import org.scalatra.FlashMapSupport | ||||
| import org.scalatra.i18n.Messages | ||||
| import service.WebHookService.WebHookPayload | ||||
| import util.JGitUtil.CommitInfo | ||||
| import util.ControlUtil._ | ||||
| @@ -179,7 +180,7 @@ trait RepositorySettingsControllerBase extends ControllerBase with FlashMapSuppo | ||||
|    * Provides duplication check for web hook url. | ||||
|    */ | ||||
|   private def webHook: Constraint = new Constraint(){ | ||||
|     override def validate(name: String, value: String): Option[String] = | ||||
|     override def validate(name: String, value: String, messages: Messages): Option[String] = | ||||
|       getWebHookURLs(params("owner"), params("repository")).map(_.url).find(_ == value).map(_ => "URL had been registered already.") | ||||
|   } | ||||
|  | ||||
| @@ -187,7 +188,7 @@ trait RepositorySettingsControllerBase extends ControllerBase with FlashMapSuppo | ||||
|    * Provides Constraint to validate the collaborator name. | ||||
|    */ | ||||
|   private def collaborator: Constraint = new Constraint(){ | ||||
|     override def validate(name: String, value: String): Option[String] = | ||||
|     override def validate(name: String, value: String, messages: Messages): Option[String] = | ||||
|       getAccountByUserName(value) match { | ||||
|         case None => Some("User does not exist.") | ||||
|         case Some(x) if(x.isGroupAccount) | ||||
|   | ||||
| @@ -7,8 +7,9 @@ import util.ControlUtil._ | ||||
| import jp.sf.amateras.scalatra.forms._ | ||||
| import org.eclipse.jgit.api.Git | ||||
| import org.scalatra.FlashMapSupport | ||||
| import service.WikiService.WikiPageInfo | ||||
| import org.scalatra.i18n.Messages | ||||
| import scala.Some | ||||
| import java.util.ResourceBundle | ||||
|  | ||||
| class WikiController extends WikiControllerBase  | ||||
|   with WikiService with RepositoryService with AccountService with ActivityService | ||||
| @@ -170,12 +171,12 @@ trait WikiControllerBase extends ControllerBase with FlashMapSupport { | ||||
|   }) | ||||
|  | ||||
|   private def unique: Constraint = new Constraint(){ | ||||
|     override def validate(name: String, value: String, params: Map[String, String]): Option[String] = | ||||
|     override def validate(name: String, value: String, params: Map[String, String], messages: Messages): Option[String] = | ||||
|       getWikiPageList(params("owner"), params("repository")).find(_ == value).map(_ => "Page already exists.") | ||||
|   } | ||||
|  | ||||
|   private def pagename: Constraint = new Constraint(){ | ||||
|     override def validate(name: String, value: String): Option[String] = | ||||
|     override def validate(name: String, value: String, messages: Messages): Option[String] = | ||||
|       if(value.exists("\\/:*?\"<>|".contains(_))){ | ||||
|         Some(s"${name} contains invalid character.") | ||||
|       } else if(value.startsWith("_") || value.startsWith("-")){ | ||||
| @@ -186,7 +187,7 @@ trait WikiControllerBase extends ControllerBase with FlashMapSupport { | ||||
|   } | ||||
|  | ||||
|   private def conflictForNew: Constraint = new Constraint(){ | ||||
|     override def validate(name: String, value: String): Option[String] = { | ||||
|     override def validate(name: String, value: String, messages: Messages): Option[String] = { | ||||
|       optionIf(targetWikiPage.nonEmpty){ | ||||
|         Some("Someone has created the wiki since you started. Please reload this page and re-apply your changes.") | ||||
|       } | ||||
| @@ -194,7 +195,7 @@ trait WikiControllerBase extends ControllerBase with FlashMapSupport { | ||||
|   } | ||||
|  | ||||
|   private def conflictForEdit: Constraint = new Constraint(){ | ||||
|     override def validate(name: String, value: String): Option[String] = { | ||||
|     override def validate(name: String, value: String, messages: Messages): Option[String] = { | ||||
|       optionIf(targetWikiPage.map(_.id != params("id")).getOrElse(false)){ | ||||
|         Some("Someone has edited the wiki since you started. Please reload this page and re-apply your changes.") | ||||
|       } | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| package util | ||||
|  | ||||
| import jp.sf.amateras.scalatra.forms._ | ||||
| import org.scalatra.i18n.Messages | ||||
|  | ||||
| trait Validations { | ||||
|  | ||||
| @@ -8,7 +9,7 @@ trait Validations { | ||||
|    * Constraint for the identifier such as user name, repository name or page name. | ||||
|    */ | ||||
|   def identifier: Constraint = new Constraint(){ | ||||
|     override def validate(name: String, value: String): Option[String] = | ||||
|     override def validate(name: String, value: String, messages: Messages): Option[String] = | ||||
|       if(!value.matches("^[a-zA-Z0-9\\-_.]+$")){ | ||||
|         Some(s"${name} contains invalid character.") | ||||
|       } else if(value.startsWith("_") || value.startsWith("-")){ | ||||
| @@ -25,7 +26,7 @@ trait Validations { | ||||
|    */ | ||||
|   def date(constraints: Constraint*): SingleValueType[java.util.Date] = | ||||
|     new SingleValueType[java.util.Date]((pattern("\\d{4}-\\d{2}-\\d{2}") +: constraints): _*){ | ||||
|       def convert(value: String): java.util.Date = new java.text.SimpleDateFormat("yyyy-MM-dd").parse(value) | ||||
|       def convert(value: String, messages: Messages): java.util.Date = new java.text.SimpleDateFormat("yyyy-MM-dd").parse(value) | ||||
|     } | ||||
|  | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user