mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-06 21:45:50 +01:00
Fix repository list of the index page.
This commit is contained in:
@@ -22,8 +22,6 @@ trait RepositoryService { self: AccountService =>
|
|||||||
def createRepository(repositoryName: String, userName: String, description: Option[String]): Unit = {
|
def createRepository(repositoryName: String, userName: String, description: Option[String]): Unit = {
|
||||||
// TODO create a git repository also here?
|
// TODO create a git repository also here?
|
||||||
|
|
||||||
// TODO insert default labels.
|
|
||||||
|
|
||||||
Repositories insert
|
Repositories insert
|
||||||
Repository(
|
Repository(
|
||||||
userName = userName,
|
userName = userName,
|
||||||
@@ -111,30 +109,23 @@ trait RepositoryService { self: AccountService =>
|
|||||||
* @return the repository informations which is sorted in descending order of lastActivityDate.
|
* @return the repository informations which is sorted in descending order of lastActivityDate.
|
||||||
*/
|
*/
|
||||||
def getAccessibleRepositories(account: Option[Account], baseUrl: String): List[RepositoryInfo] = {
|
def getAccessibleRepositories(account: Option[Account], baseUrl: String): List[RepositoryInfo] = {
|
||||||
account match {
|
|
||||||
|
def createRepositoryInfo(repository: Repository): RepositoryInfo = {
|
||||||
|
val repositoryInfo = JGitUtil.getRepositoryInfo(repository.userName, repository.repositoryName, baseUrl)
|
||||||
|
RepositoryInfo(repositoryInfo.owner, repositoryInfo.name, repositoryInfo.url, repository, repositoryInfo.branchList, repositoryInfo.tags)
|
||||||
|
}
|
||||||
|
|
||||||
|
(account match {
|
||||||
// for Administrators
|
// for Administrators
|
||||||
case Some(x) if(x.isAdmin) => {
|
case Some(x) if(x.isAdmin) => Query(Repositories)
|
||||||
(Query(Repositories) sortBy(_.lastActivityDate desc) list) map { repository =>
|
|
||||||
val repositoryInfo = JGitUtil.getRepositoryInfo(repository.userName, repository.repositoryName, baseUrl)
|
|
||||||
RepositoryInfo(repositoryInfo.owner, repositoryInfo.name, repositoryInfo.url, repository, repositoryInfo.branchList, repositoryInfo.tags)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// for Normal Users
|
// for Normal Users
|
||||||
case Some(x) if(!x.isAdmin) => {
|
case Some(x) if(!x.isAdmin) =>
|
||||||
// TODO only repositories registered as collaborator
|
Query(Repositories) filter { t => (t.isPrivate is false.bind) ||
|
||||||
(Query(Repositories) sortBy(_.lastActivityDate desc) list) map { repository =>
|
(Query(Collaborators).filter(t2 => t2.byRepository(t.userName, t.repositoryName) && (t2.collaboratorName is x.userName.bind)) exists)
|
||||||
val repositoryInfo = JGitUtil.getRepositoryInfo(repository.userName, repository.repositoryName, baseUrl)
|
|
||||||
RepositoryInfo(repositoryInfo.owner, repositoryInfo.name, repositoryInfo.url, repository, repositoryInfo.branchList, repositoryInfo.tags)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
// for Guests
|
// for Guests
|
||||||
case None => {
|
case None => Query(Repositories) filter(_.isPrivate is false.bind)
|
||||||
(Query(Repositories) filter(_.isPrivate is false.bind) sortBy(_.lastActivityDate desc) list) map { repository =>
|
}).sortBy(_.lastActivityDate desc).list.map(createRepositoryInfo _)
|
||||||
val repositoryInfo = JGitUtil.getRepositoryInfo(repository.userName, repository.repositoryName, baseUrl)
|
|
||||||
RepositoryInfo(repositoryInfo.owner, repositoryInfo.name, repositoryInfo.url, repository, repositoryInfo.branchList, repositoryInfo.tags)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user