| | |
| | | import org.apache.wicket.markup.repeater.data.ListDataProvider;
|
| | | import org.eclipse.jgit.lib.PersonIdent;
|
| | |
|
| | | import com.gitblit.GitBlit;
|
| | | import com.gitblit.Keys;
|
| | | import com.gitblit.models.ForkModel;
|
| | | import com.gitblit.models.RepositoryModel;
|
| | |
| | | import com.gitblit.utils.StringUtils;
|
| | | import com.gitblit.wicket.GitBlitWebSession;
|
| | | import com.gitblit.wicket.WicketUtils;
|
| | | import com.gitblit.wicket.panels.GravatarImage;
|
| | | import com.gitblit.wicket.panels.AvatarImage;
|
| | | import com.gitblit.wicket.panels.LinkPanel;
|
| | |
|
| | | public class ForksPage extends RepositoryPage {
|
| | |
| | |
|
| | | final RepositoryModel pageRepository = getRepositoryModel();
|
| | |
|
| | | ForkModel root = GitBlit.self().getForkNetwork(pageRepository.name);
|
| | | ForkModel root = app().repositories().getForkNetwork(pageRepository.name);
|
| | | List<FlatFork> network = flatten(root);
|
| | |
|
| | | ListDataProvider<FlatFork> forksDp = new ListDataProvider<FlatFork>(network);
|
| | |
| | | RepositoryModel repository = fork.repository;
|
| | |
|
| | | if (repository.isPersonalRepository()) {
|
| | | UserModel user = GitBlit.self().getUserModel(repository.projectPath.substring(1));
|
| | | UserModel user = app().users().getUserModel(repository.projectPath.substring(1));
|
| | | if (user == null) {
|
| | | // user account no longer exists
|
| | | user = new UserModel(repository.projectPath.substring(1));
|
| | | }
|
| | | PersonIdent ident = new PersonIdent(user.getDisplayName(), user.emailAddress == null ? user.getDisplayName() : user.emailAddress);
|
| | | item.add(new GravatarImage("anAvatar", ident, 20));
|
| | | item.add(new AvatarImage("anAvatar", ident, 20));
|
| | | if (pageRepository.equals(repository)) {
|
| | | // do not link to self
|
| | | item.add(new Label("aProject", user.getDisplayName()));
|
| | |
| | | item.add(swatch);
|
| | | String projectName = repository.projectPath;
|
| | | if (StringUtils.isEmpty(projectName)) {
|
| | | projectName = GitBlit.getString(Keys.web.repositoryRootGroupName, "main");
|
| | | projectName = app().settings().getString(Keys.web.repositoryRootGroupName, "main");
|
| | | }
|
| | | if (pageRepository.equals(repository)) {
|
| | | // do not link to self
|
| | |
| | |
|
| | | protected List<FlatFork> flatten(ForkModel node, int level) {
|
| | | List<FlatFork> list = new ArrayList<FlatFork>();
|
| | | if (node == null) {
|
| | | return list;
|
| | | }
|
| | | list.add(new FlatFork(node.repository, level));
|
| | | if (!node.isLeaf()) {
|
| | | for (ForkModel fork : node.forks) {
|