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 @@