diff --git a/src/main/scala/gitbucket/core/controller/FileUploadController.scala b/src/main/scala/gitbucket/core/controller/FileUploadController.scala index fe9b456..f52491a 100644 --- a/src/main/scala/gitbucket/core/controller/FileUploadController.scala +++ b/src/main/scala/gitbucket/core/controller/FileUploadController.scala @@ -10,6 +10,7 @@ import org.eclipse.jgit.api.Git import org.eclipse.jgit.dircache.DirCache import org.eclipse.jgit.lib.{FileMode, Constants} +import org.scalatra import org.scalatra._ import org.scalatra.servlet.{MultipartConfig, FileUploadSupport, FileItem} import org.apache.commons.io.{IOUtils, FileUtils} @@ -80,9 +81,13 @@ post("/import") { session.get(Keys.Session.LoginAccount).collect { case loginAccount: Account if loginAccount.isAdmin => execute({ (file, fileId) => - import JDBCUtil._ - val conn = request2Session(request).conn - conn.importAsXML(file.getInputStream) + if(file.getName.endsWith(".xml")){ + import JDBCUtil._ + val conn = request2Session(request).conn + conn.importAsXML(file.getInputStream) + } else { + throw new RuntimeException("Import is available for only the XML file.") + } }, _ => true) } redirect("/admin/data") diff --git a/src/main/twirl/gitbucket/core/admin/data.scala.html b/src/main/twirl/gitbucket/core/admin/data.scala.html index 44f590f..4fcbde6 100644 --- a/src/main/twirl/gitbucket/core/admin/data.scala.html +++ b/src/main/twirl/gitbucket/core/admin/data.scala.html @@ -30,10 +30,10 @@