Moves to editing form if wiki page does not exist.

This commit is contained in:
takezoe
2013-05-06 10:00:34 +09:00
parent db893af8e6
commit 81faf4dfa2
2 changed files with 27 additions and 23 deletions

View File

@@ -26,19 +26,25 @@ class WikiController extends ControllerBase {
val owner = params("owner") val owner = params("owner")
val repository = params("repository") val repository = params("repository")
wiki.html.wiki("Home", WikiUtil.getPage(owner, repository, "Home") match {
WikiUtil.getPage(owner, repository, "Home"), case Some(page) => wiki.html.wiki("Home", page,
JGitUtil.getRepositoryInfo(owner, repository, servletContext)) JGitUtil.getRepositoryInfo(owner, repository, servletContext))
case None => wiki.html.wikiedit("Home", None,
JGitUtil.getRepositoryInfo(owner, repository, servletContext))
}
} }
get("/:owner/:repository/wiki/:page"){ get("/:owner/:repository/wiki/:page"){
val owner = params("owner") val owner = params("owner")
val repository = params("repository") val repository = params("repository")
val page = params("page") val pageName = params("page")
wiki.html.wiki(page, WikiUtil.getPage(owner, repository, pageName) match {
WikiUtil.getPage(owner, repository, page), case Some(page) => wiki.html.wiki(pageName, page,
JGitUtil.getRepositoryInfo(owner, repository, servletContext)) JGitUtil.getRepositoryInfo(owner, repository, servletContext))
case None => wiki.html.wikiedit(pageName, None,
JGitUtil.getRepositoryInfo(owner, repository, servletContext))
}
} }
get("/:owner/:repository/wiki/:page/_history"){ get("/:owner/:repository/wiki/:page/_history"){

View File

@@ -1,27 +1,25 @@
@(pageName: String, page: Option[util.WikiUtil.WikiPageInfo], repository: app.RepositoryInfo)(implicit context: app.Context) @(pageName: String, page: util.WikiUtil.WikiPageInfo, repository: app.RepositoryInfo)(implicit context: app.Context)
@import view.helpers @import view.helpers
@import context._ @import context._
@html.main(pageName + " - " + repository.owner + "/" + repository.name){ @html.main(pageName + " - " + repository.owner + "/" + repository.name){
@html.header("wiki", repository) @html.header("wiki", repository)
@wikitab((if(pageName == "Home") "home" else ""), repository) @wikitab((if(pageName == "Home") "home" else ""), repository)
@page.map { page => <ul class="nav nav-tabs">
<ul class="nav nav-tabs"> <li>
<li> <h1 class="wiki-title">@pageName</h1>
<h1 class="wiki-title">@pageName</h1> </li>
</li> <li class="pull-right">
<li class="pull-right"> <div class="btn-group">
<div class="btn-group">
<a class="btn" href="@path/@repository.owner/@repository.name/wiki/_new">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="@path/@repository.owner/@repository.name/wiki/@pageName/_edit">Edit Page</a>
<a class="btn" href="@path/@repository.owner/@repository.name/wiki/@pageName/_history">Page History</a> <a class="btn" href="@path/@repository.owner/@repository.name/wiki/@pageName/_history">Page History</a>
</div> </div>
</li> </li>
</ul> </ul>
<div class="markdown-body"> <div class="markdown-body">
@helpers.markdown(page.content, repository) @helpers.markdown(page.content, repository)
</div> </div>
<div class="small"> <div class="small">
<span class="description">Last edited by @page.committer at @helpers.datetime(page.time)</span> <span class="description">Last edited by @page.committer at @helpers.datetime(page.time)</span>
</div> </div>
}
} }