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)) 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"){ get("/:owner/:repository/wiki/:page/_edit"){
val owner = params("owner") val owner = params("owner")
val repository = params("repository") val repository = params("repository")
@@ -74,8 +88,8 @@ class WikiController extends ControllerBase {
val owner = params("owner") val owner = params("owner")
val repository = params("repository") val repository = params("repository")
// TODO retrieve all commit logs. html.wikihistory(None,
html.wikihistory(JGitUtil.getCommitLog(Git.open(WikiUtil.getWikiRepositoryDir(owner, repository)), "master")._1, JGitUtil.getCommitLog(Git.open(WikiUtil.getWikiRepositoryDir(owner, repository)), "master")._1,
JGitUtil.getRepositoryInfo(owner, repository, servletContext)) JGitUtil.getRepositoryInfo(owner, repository, servletContext))
} }
} }

View File

@@ -13,7 +13,7 @@
<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="#">Page History</a> <a class="btn" href="@path/@repository.owner/@repository.name/wiki/@pageName/_history">Page History</a>
</div> </div>
</li> </li>
</ul> </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 view.helpers
@import context._ @import context._
@main("History - " + repository.owner + "/" + repository.name){ @main("History - " + repository.owner + "/" + repository.name){
@header("wiki", repository) @header("wiki", repository)
@wikitab("history", repository) @wikitab(if(pageName.isEmpty) "history" else "", repository)
<ul class="nav nav-tabs"> <ul class="nav nav-tabs">
<li> <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>
<li class="pull-right"> <li class="pull-right">
<div class="btn-group"> <div class="btn-group">