mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-06 21:45:50 +01:00
Add basic access control to the wiki system.
This commit is contained in:
@@ -80,16 +80,16 @@ trait WikiControllerBase extends ControllerBase { self: WikiService with Project
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
get("/:owner/:repository/wiki/:page/_edit"){
|
get("/:owner/:repository/wiki/:page/_edit")(usersOnly {
|
||||||
val owner = params("owner")
|
val owner = params("owner")
|
||||||
val repository = params("repository")
|
val repository = params("repository")
|
||||||
val page = params("page")
|
val page = params("page")
|
||||||
|
|
||||||
wiki.html.wikiedit(page,
|
wiki.html.wikiedit(page,
|
||||||
getWikiPage(owner, repository, page), getRepository(owner, repository, servletContext).get)
|
getWikiPage(owner, repository, page), getRepository(owner, repository, servletContext).get)
|
||||||
}
|
})
|
||||||
|
|
||||||
post("/:owner/:repository/wiki/_edit", editForm){ form =>
|
post("/:owner/:repository/wiki/_edit", editForm)(usersOnly { form =>
|
||||||
val owner = params("owner")
|
val owner = params("owner")
|
||||||
val repository = params("repository")
|
val repository = params("repository")
|
||||||
|
|
||||||
@@ -97,16 +97,16 @@ trait WikiControllerBase extends ControllerBase { self: WikiService with Project
|
|||||||
form.content, context.loginAccount.get, form.message.getOrElse(""))
|
form.content, context.loginAccount.get, form.message.getOrElse(""))
|
||||||
|
|
||||||
redirect("%s/%s/wiki/%s".format(owner, repository, form.pageName))
|
redirect("%s/%s/wiki/%s".format(owner, repository, form.pageName))
|
||||||
}
|
})
|
||||||
|
|
||||||
get("/:owner/:repository/wiki/_new"){
|
get("/:owner/:repository/wiki/_new")(usersOnly {
|
||||||
val owner = params("owner")
|
val owner = params("owner")
|
||||||
val repository = params("repository")
|
val repository = params("repository")
|
||||||
|
|
||||||
wiki.html.wikiedit("", None, getRepository(owner, repository, servletContext).get)
|
wiki.html.wikiedit("", None, getRepository(owner, repository, servletContext).get)
|
||||||
}
|
})
|
||||||
|
|
||||||
post("/:owner/:repository/wiki/_new", newForm){ form =>
|
post("/:owner/:repository/wiki/_new", newForm)(usersOnly { form =>
|
||||||
val owner = params("owner")
|
val owner = params("owner")
|
||||||
val repository = params("repository")
|
val repository = params("repository")
|
||||||
|
|
||||||
@@ -114,9 +114,9 @@ trait WikiControllerBase extends ControllerBase { self: WikiService with Project
|
|||||||
form.content, context.loginAccount.get, form.message.getOrElse(""))
|
form.content, context.loginAccount.get, form.message.getOrElse(""))
|
||||||
|
|
||||||
redirect("%s/%s/wiki/%s".format(owner, repository, form.pageName))
|
redirect("%s/%s/wiki/%s".format(owner, repository, form.pageName))
|
||||||
}
|
})
|
||||||
|
|
||||||
get("/:owner/:repository/wiki/:page/_delete"){
|
get("/:owner/:repository/wiki/:page/_delete")(usersOnly {
|
||||||
val owner = params("owner")
|
val owner = params("owner")
|
||||||
val repository = params("repository")
|
val repository = params("repository")
|
||||||
val page = params("page")
|
val page = params("page")
|
||||||
@@ -124,7 +124,7 @@ trait WikiControllerBase extends ControllerBase { self: WikiService with Project
|
|||||||
deleteWikiPage(owner, repository, page, context.loginAccount.get.userName, "Delete %s".format(page))
|
deleteWikiPage(owner, repository, page, context.loginAccount.get.userName, "Delete %s".format(page))
|
||||||
|
|
||||||
redirect("%s/%s/wiki".format(owner, repository))
|
redirect("%s/%s/wiki".format(owner, repository))
|
||||||
}
|
})
|
||||||
|
|
||||||
get("/:owner/:repository/wiki/_pages"){
|
get("/:owner/:repository/wiki/_pages"){
|
||||||
val owner = params("owner")
|
val owner = params("owner")
|
||||||
|
|||||||
@@ -10,8 +10,10 @@
|
|||||||
</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>
|
@if(loginAccount.isDefined){
|
||||||
<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/_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/_history">Page History</a>
|
<a class="btn" href="@path/@repository.owner/@repository.name/wiki/@pageName/_history">Page History</a>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@@ -17,10 +17,14 @@
|
|||||||
<li class="pull-right">
|
<li class="pull-right">
|
||||||
<div class="btn-group">
|
<div class="btn-group">
|
||||||
@if(pageName.isEmpty){
|
@if(pageName.isEmpty){
|
||||||
<a class="btn" href="@path/@repository.owner/@repository.name/wiki/_new">New Page</a>
|
@if(loginAccount.isDefined){
|
||||||
|
<a class="btn" href="@path/@repository.owner/@repository.name/wiki/_new">New Page</a>
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
<a class="btn" href="@path/@repository.owner/@repository.name/wiki/@pageName">View Page</a>
|
<a class="btn" href="@path/@repository.owner/@repository.name/wiki/@pageName">View Page</a>
|
||||||
<a class="btn" href="@path/@repository.owner/@repository.name/wiki/@pageName/_edit">Edit Page</a>
|
@if(loginAccount.isDefined){
|
||||||
|
<a class="btn" href="@path/@repository.owner/@repository.name/wiki/@pageName/_edit">Edit Page</a>
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
Reference in New Issue
Block a user