mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-01 11:06:06 +01:00
(refs #69)Forked repositories tree is changed to flat list.
Because it can't render forked tree correctly if parent repository has been removed.
This commit is contained in:
@@ -255,7 +255,7 @@ trait PullRequestsControllerBase extends ControllerBase {
|
|||||||
commits,
|
commits,
|
||||||
diffs,
|
diffs,
|
||||||
repository.repository.originUserName.map { userName =>
|
repository.repository.originUserName.map { userName =>
|
||||||
getRepositoryNames(getForkedRepositoryTree(userName, repository.name))
|
getForkedRepositories(userName, repository.name)
|
||||||
} getOrElse Nil,
|
} getOrElse Nil,
|
||||||
originBranch,
|
originBranch,
|
||||||
forkedBranch,
|
forkedBranch,
|
||||||
|
|||||||
@@ -184,7 +184,7 @@ trait RepositoryViewerControllerBase extends ControllerBase {
|
|||||||
|
|
||||||
get("/:owner/:repository/network/members")(referrersOnly { repository =>
|
get("/:owner/:repository/network/members")(referrersOnly { repository =>
|
||||||
repo.html.forked(
|
repo.html.forked(
|
||||||
getForkedRepositoryTree(
|
getForkedRepositories(
|
||||||
repository.repository.originUserName.getOrElse(repository.owner),
|
repository.repository.originUserName.getOrElse(repository.owner),
|
||||||
repository.repository.originRepositoryName.getOrElse(repository.name)),
|
repository.repository.originRepositoryName.getOrElse(repository.name)),
|
||||||
repository)
|
repository)
|
||||||
|
|||||||
@@ -201,17 +201,11 @@ trait RepositoryService { self: AccountService =>
|
|||||||
}.list.length
|
}.list.length
|
||||||
|
|
||||||
|
|
||||||
def getForkedRepositoryTree(userName: String, repositoryName: String): RepositoryTreeNode = {
|
def getForkedRepositories(userName: String, repositoryName: String): List[String] =
|
||||||
RepositoryTreeNode(userName, repositoryName,
|
Query(Repositories).filter { t =>
|
||||||
Query(Repositories).filter { t =>
|
(t.originUserName is userName.bind) && (t.originRepositoryName is repositoryName.bind)
|
||||||
(t.parentUserName is userName.bind) && (t.parentRepositoryName is repositoryName.bind)
|
}
|
||||||
}.map { t =>
|
.sortBy(_.lastActivityDate desc).map(_.userName).list
|
||||||
t.userName ~ t.repositoryName
|
|
||||||
}.list.map { case (userName, repositoryName) =>
|
|
||||||
getForkedRepositoryTree(userName, repositoryName)
|
|
||||||
}
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
@(members: service.RepositoryService.RepositoryTreeNode,
|
@(members: List[String],
|
||||||
repository: service.RepositoryService.RepositoryInfo)(implicit context: app.Context)
|
repository: service.RepositoryService.RepositoryInfo)(implicit context: app.Context)
|
||||||
@import context._
|
@import context._
|
||||||
@import view.helpers._
|
@import view.helpers._
|
||||||
@@ -7,22 +7,9 @@
|
|||||||
<li class="active"><a href="@url(repository)/network/members">Members</a></li>
|
<li class="active"><a href="@url(repository)/network/members">Members</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>Members of the @repository.name Network</h3>
|
<h3>Members of the @repository.name Network</h3>
|
||||||
<ul>
|
@members.map { owner =>
|
||||||
@renderTree(members)
|
<div class="block">
|
||||||
</ul>
|
<a href="@url(owner)">@owner</a> / <a href="@path/@owner/@repository.name">@repository.name</a>
|
||||||
}
|
|
||||||
|
|
||||||
@renderTree(node: service.RepositoryService.RepositoryTreeNode) = {
|
|
||||||
<li>
|
|
||||||
<div style="font-size: 120%; margin-bottom: 8px;">
|
|
||||||
@avatar(node.owner, 20) <a href="@url(node.owner)">@node.owner</a> / <a href="@path/@node.owner/@node.name">@node.name</a>
|
|
||||||
</div>
|
</div>
|
||||||
@if(node.children.nonEmpty){
|
}
|
||||||
<ul>
|
}
|
||||||
@node.children.map { child =>
|
|
||||||
@renderTree(child)
|
|
||||||
}
|
|
||||||
</ul>
|
|
||||||
}
|
|
||||||
</li>
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user