diff --git a/src/main/scala/app/WikiController.scala b/src/main/scala/app/WikiController.scala index b56dba8..4232421 100644 --- a/src/main/scala/app/WikiController.scala +++ b/src/main/scala/app/WikiController.scala @@ -11,7 +11,7 @@ "pageName" -> trim(label("Page name" , text(required, maxlength(40)))), "content" -> trim(label("Content" , text(required))), "message" -> trim(label("Message" , optional(text()))), - "currentPageName" -> trim(label("Current page name" , text(required))) + "currentPageName" -> trim(label("Current page name" , text())) )(WikiPageEditForm.apply) get("/:owner/:repository/wiki"){ @@ -43,14 +43,21 @@ JGitUtil.getRepositoryInfo(owner, repository, servletContext)) } - post("/:owner/:repository/wiki/:page/_edit", form){ form => + post("/:owner/:repository/wiki/_save", form){ form => val owner = params("owner") val repository = params("repository") - val page = params("page") WikiUtil.savePage(owner, repository, form.currentPageName, form.pageName, form.content, LoginUser, form.message.getOrElse("")) - redirect("%s/%s/wiki/%s".format(owner, repository, page)) + redirect("%s/%s/wiki/%s".format(owner, repository, form.pageName)) + } + + get("/:owner/:repository/wiki/_new"){ + val owner = params("owner") + val repository = params("repository") + + html.wikiedit("", None, + JGitUtil.getRepositoryInfo(owner, repository, servletContext)) } } \ No newline at end of file diff --git a/src/main/scala/util/WikiUtil.scala b/src/main/scala/util/WikiUtil.scala index cb99e2a..ee12d2d 100644 --- a/src/main/scala/util/WikiUtil.scala +++ b/src/main/scala/util/WikiUtil.scala @@ -98,7 +98,7 @@ cloned.add.addFilepattern(file.getName).call // delete file - if(currentPageName != newPageName){ + if(currentPageName != "" && currentPageName != newPageName){ cloned.rm.addFilepattern(currentPageName + ".md") } diff --git a/src/main/twirl/wiki.scala.html b/src/main/twirl/wiki.scala.html index 089e148..7eede6a 100644 --- a/src/main/twirl/wiki.scala.html +++ b/src/main/twirl/wiki.scala.html @@ -16,7 +16,7 @@
  • - New Page + New Page Edit Page Page History
    diff --git a/src/main/twirl/wikiedit.scala.html b/src/main/twirl/wikiedit.scala.html index 90ac4bd..6610c9e 100644 --- a/src/main/twirl/wikiedit.scala.html +++ b/src/main/twirl/wikiedit.scala.html @@ -1,7 +1,7 @@ @(pageName: String, page: Option[util.WikiUtil.WikiPageInfo], repository: app.RepositoryInfo)(implicit context: app.Context) @import view.helpers @import context._ -@main(pageName + " - " + repository.owner + "/" + repository.name){ +@main((if(pageName == "") "New Page" else pageName) + " - " + repository.owner + "/" + repository.name){ @header("wiki", repository) - @page.map { page => - +
    + + + + + + + + +
    } \ No newline at end of file