Define the static values for the user type.

This commit is contained in:
takezoe
2013-06-04 01:48:15 +09:00
parent a6ea5468c7
commit 13c3997c63
2 changed files with 18 additions and 1 deletions

View File

@@ -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
}

View File

@@ -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)