mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-09 23:15:49 +01:00
Rename general variable name isWritable to hasWritePermission.
This commit is contained in:
@@ -247,7 +247,7 @@ trait IssuesControllerBase extends ControllerBase {
|
||||
condition,
|
||||
filter,
|
||||
repositoryInfo,
|
||||
isWritable(owner, repository, context.loginAccount))
|
||||
hasWritePermission(owner, repository, context.loginAccount))
|
||||
|
||||
} getOrElse NotFound
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ trait MilestonesControllerBase extends ControllerBase {
|
||||
issues.milestones.html.list(state,
|
||||
getMilestonesWithIssueCount(owner, repository),
|
||||
repositoryInfo,
|
||||
isWritable(owner, repository, context.loginAccount))
|
||||
hasWritePermission(owner, repository, context.loginAccount))
|
||||
} getOrElse NotFound
|
||||
})
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ trait WikiControllerBase extends ControllerBase {
|
||||
|
||||
getRepository(owner, repository, baseUrl).map { repositoryInfo =>
|
||||
getWikiPage(owner, repository, "Home").map { page =>
|
||||
wiki.html.page("Home", page, repositoryInfo, isWritable(owner, repository, context.loginAccount))
|
||||
wiki.html.page("Home", page, repositoryInfo, hasWritePermission(owner, repository, context.loginAccount))
|
||||
} getOrElse redirect("/%s/%s/wiki/Home/_edit".format(owner, repository))
|
||||
} getOrElse NotFound
|
||||
})
|
||||
@@ -45,7 +45,7 @@ trait WikiControllerBase extends ControllerBase {
|
||||
|
||||
getRepository(owner, repository, baseUrl).map { repositoryInfo =>
|
||||
getWikiPage(owner, repository, pageName).map { page =>
|
||||
wiki.html.page(pageName, page, repositoryInfo, isWritable(owner, repository, context.loginAccount))
|
||||
wiki.html.page(pageName, page, repositoryInfo, hasWritePermission(owner, repository, context.loginAccount))
|
||||
} getOrElse redirect("/%s/%s/wiki/%s/_edit".format(owner, repository, pageName)) // TODO URLEncode
|
||||
} getOrElse NotFound
|
||||
})
|
||||
@@ -140,7 +140,7 @@ trait WikiControllerBase extends ControllerBase {
|
||||
val repository = params("repository")
|
||||
|
||||
getRepository(owner, repository, baseUrl).map {
|
||||
wiki.html.pages(getWikiPageList(owner, repository), _, isWritable(owner, repository, context.loginAccount))
|
||||
wiki.html.pages(getWikiPageList(owner, repository), _, hasWritePermission(owner, repository, context.loginAccount))
|
||||
} getOrElse NotFound
|
||||
})
|
||||
|
||||
|
||||
@@ -183,7 +183,7 @@ trait RepositoryService { self: AccountService =>
|
||||
def getCollaborators(userName: String, repositoryName: String): List[String] =
|
||||
Query(Collaborators).filter(_.byRepository(userName, repositoryName)).sortBy(_.collaboratorName).list.map(_.collaboratorName)
|
||||
|
||||
def isWritable(owner: String, repository: String, loginAccount: Option[Account]): Boolean = {
|
||||
def hasWritePermission(owner: String, repository: String, loginAccount: Option[Account]): Boolean = {
|
||||
loginAccount match {
|
||||
case Some(a) if(a.isAdmin) => true
|
||||
case Some(a) if(a.userName == owner) => true
|
||||
|
||||
@@ -56,6 +56,7 @@ class BasicAuthenticationFilter extends Filter with RepositoryService with Accou
|
||||
private def isWritableUser(username: String, password: String, repository: RepositoryService.RepositoryInfo): Boolean = {
|
||||
getAccountByUserName(username) match {
|
||||
case Some(account) if(account.password == encrypt(password)) => {
|
||||
// TODO Use hasWritePermission?
|
||||
(account.isAdmin // administrator
|
||||
|| account.userName == repository.owner // repository owner
|
||||
|| getCollaborators(repository.owner, repository.name).contains(account.userName)) // collaborator
|
||||
|
||||
Reference in New Issue
Block a user