Add History for page.

This commit is contained in:
takezoe
2013-05-03 13:50:42 +09:00
parent c72624316a
commit 8fa1b36aa0
3 changed files with 27 additions and 6 deletions

View File

@@ -34,6 +34,20 @@ class WikiController extends ControllerBase {
JGitUtil.getRepositoryInfo(owner, repository, servletContext))
}
get("/:owner/:repository/wiki/:page/_history"){
val owner = params("owner")
val repository = params("repository")
val page = params("page")
val git = Git.open(WikiUtil.getWikiRepositoryDir(owner, repository))
html.wikihistory(Some(page),
JGitUtil.getCommitLog(git, "master")._1.filter { commit =>
JGitUtil.getDiffs(git, commit.id).find(_.newPath == page + ".md").isDefined
},
JGitUtil.getRepositoryInfo(owner, repository, servletContext))
}
get("/:owner/:repository/wiki/:page/_edit"){
val owner = params("owner")
val repository = params("repository")
@@ -74,8 +88,8 @@ class WikiController extends ControllerBase {
val owner = params("owner")
val repository = params("repository")
// TODO retrieve all commit logs.
html.wikihistory(JGitUtil.getCommitLog(Git.open(WikiUtil.getWikiRepositoryDir(owner, repository)), "master")._1,
html.wikihistory(None,
JGitUtil.getCommitLog(Git.open(WikiUtil.getWikiRepositoryDir(owner, repository)), "master")._1,
JGitUtil.getRepositoryInfo(owner, repository, servletContext))
}
}

View File

@@ -13,7 +13,7 @@
<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/@pageName/_edit">Edit Page</a>
<a class="btn" href="#">Page History</a>
<a class="btn" href="@path/@repository.owner/@repository.name/wiki/@pageName/_history">Page History</a>
</div>
</li>
</ul>

View File

@@ -1,12 +1,19 @@
@(commits: List[app.CommitInfo], repository: app.RepositoryInfo)(implicit context: app.Context)
@(pageName: Option[String], commits: List[app.CommitInfo], repository: app.RepositoryInfo)(implicit context: app.Context)
@import view.helpers
@import context._
@main("History - " + repository.owner + "/" + repository.name){
@header("wiki", repository)
@wikitab("history", repository)
@wikitab(if(pageName.isEmpty) "history" else "", repository)
<ul class="nav nav-tabs">
<li>
<h1 class="wiki-title"><span class="description">Pages</span></h1>
<h1 class="wiki-title">
@if(pageName.nonEmpty){
<span class="description">History for</span> @pageName.get
}
@if(pageName.isEmpty){
<span class="description">History</span>
}
</h1>
</li>
<li class="pull-right">
<div class="btn-group">