New wiki page creation works.

This commit is contained in:
takezoe
2013-05-02 09:03:08 +09:00
parent 1909fc605a
commit ac1b42eb5d
4 changed files with 35 additions and 28 deletions

View File

@@ -11,7 +11,7 @@ class WikiController extends ControllerBase {
"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 @@ class WikiController extends ControllerBase {
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))
}
}

View File

@@ -98,7 +98,7 @@ object WikiUtil {
cloned.add.addFilepattern(file.getName).call
// delete file
if(currentPageName != newPageName){
if(currentPageName != "" && currentPageName != newPageName){
cloned.rm.addFilepattern(currentPageName + ".md")
}

View File

@@ -16,7 +16,7 @@
</li>
<li class="pull-right">
<div class="btn-group">
<a class="btn" href="#">New Page</a>
<a class="btn" href="@path/@repository.owner/@repository.name/wiki/_new">New Page</a>
<a class="btn" href="@path/@repository.owner/@repository.name/wiki/@pageName/_edit">Edit Page</a>
<a class="btn" href="#">Page History</a>
</div>

View File

@@ -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)
<ul class="nav nav-tabs">
<li><a href="">Home</a></li>
@@ -9,28 +9,28 @@
<li><a href="">Wiki History</a></li>
<li><a href="">Git Access</a></li>
</ul>
@page.map { page =>
<ul class="nav nav-tabs">
<li>
<h1 class="wiki-title"><span class="description">Editing</span> @pageName</h1>
<h1 class="wiki-title"><span class="description">Editing</span> @if(pageName == ""){New Page} else {@pageName}</h1>
</li>
<li class="pull-right">
<div class="btn-group">
@if(pageName != ""){
<a class="btn" href="@path/@repository.owner/@repository.name/wiki/@pageName">View Page</a>
<a class="btn" href="#">Delete Page</a>
<a class="btn" href="#">Page History</a>
}
</div>
</li>
</ul>
<form action="_edit" method="POST" validate="true">
<form action="@path/@repository.owner/@repository.name/wiki/_save" method="POST" validate="true">
<span id="error-pageName" class="error-message"></span>
<input type="text" name="pageName" value="@pageName" style="width: 900px; font-weight: bold;"/>
<input type="text" name="pageName" value="@pageName" style="width: 900px; font-weight: bold;" placeholder="Input a page name."/>
<span id="error-content" class="error-message"></span>
<textarea name="content" style="width: 900px; height: 400px;">@page.content</textarea>
<textarea name="content" style="width: 900px; height: 400px;">@page.map(_.content)</textarea>
<input type="text" name="message" value="" style="width: 900px;" placeholder="Write a small message here explaining this change. (Optional)"/>
<input type="hidden" name="currentPageName" value="@pageName"/>
<input type="submit" value="Save" class="btn btn-primary">
<input type="button" value="Preview" class="btn">
</form>
}
}