mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-06 21:45:50 +01:00
Define the static values for the user type.
This commit is contained in:
@@ -10,3 +10,10 @@ trait AccountService {
|
|||||||
Query(Accounts) filter(_.userName is userName.bind) firstOption
|
Query(Accounts) filter(_.userName is userName.bind) firstOption
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
object AccountService {
|
||||||
|
|
||||||
|
val Normal = 0
|
||||||
|
val Administrator = 1
|
||||||
|
|
||||||
|
}
|
||||||
@@ -79,12 +79,22 @@ trait RepositoryService { self: AccountService =>
|
|||||||
*/
|
*/
|
||||||
def getAccessibleRepositories(account: Option[Account], servletContext: ServletContext): List[RepositoryInfo] = {
|
def getAccessibleRepositories(account: Option[Account], servletContext: ServletContext): List[RepositoryInfo] = {
|
||||||
account match {
|
account match {
|
||||||
case Some(x) => {
|
// for Administrators
|
||||||
|
case Some(x) if(x.userType == AccountService.Administrator) => {
|
||||||
(Query(Repositories) sortBy(_.lastActivityDate desc) list) map { repository =>
|
(Query(Repositories) sortBy(_.lastActivityDate desc) list) map { repository =>
|
||||||
val repositoryInfo = JGitUtil.getRepositoryInfo(repository.userName, repository.repositoryName, servletContext)
|
val repositoryInfo = JGitUtil.getRepositoryInfo(repository.userName, repository.repositoryName, servletContext)
|
||||||
RepositoryInfo(repositoryInfo.owner, repositoryInfo.name, repositoryInfo.url, repository, repositoryInfo.branchList, repositoryInfo.tags)
|
RepositoryInfo(repositoryInfo.owner, repositoryInfo.name, repositoryInfo.url, repository, repositoryInfo.branchList, repositoryInfo.tags)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// for Normal Users
|
||||||
|
case Some(x) if(x.userType == AccountService.Normal) => {
|
||||||
|
// TODO only repositories registered as collaborator
|
||||||
|
(Query(Repositories) sortBy(_.lastActivityDate desc) list) map { repository =>
|
||||||
|
val repositoryInfo = JGitUtil.getRepositoryInfo(repository.userName, repository.repositoryName, servletContext)
|
||||||
|
RepositoryInfo(repositoryInfo.owner, repositoryInfo.name, repositoryInfo.url, repository, repositoryInfo.branchList, repositoryInfo.tags)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// for Guests
|
||||||
case None => {
|
case None => {
|
||||||
(Query(Repositories) filter(_.repositoryType is Public.bind) sortBy(_.lastActivityDate desc) list) map { repository =>
|
(Query(Repositories) filter(_.repositoryType is Public.bind) sortBy(_.lastActivityDate desc) list) map { repository =>
|
||||||
val repositoryInfo = JGitUtil.getRepositoryInfo(repository.userName, repository.repositoryName, servletContext)
|
val repositoryInfo = JGitUtil.getRepositoryInfo(repository.userName, repository.repositoryName, servletContext)
|
||||||
|
|||||||
Reference in New Issue
Block a user