From e131717b489b5527e2b9853eaae8ad71ca6ea748 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 14 Nov 2013 18:16:57 -0500
Subject: [PATCH] Display common repository documents as tabs on the docs page
---
src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage.java | 40 +++++++++++++++++++++++-----------------
1 files changed, 23 insertions(+), 17 deletions(-)
diff --git a/src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage.java b/src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage.java
index cccf8a6..4e05fad 100644
--- a/src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage.java
@@ -16,17 +16,18 @@
package com.gitblit.wicket.pages;
import java.text.MessageFormat;
-import java.util.ArrayList;
import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.protocol.http.WebRequest;
import com.gitblit.GitBlit;
-import com.gitblit.Keys;
import com.gitblit.models.RepositoryModel;
+import com.gitblit.models.RepositoryUrl;
import com.gitblit.models.UserModel;
-import com.gitblit.utils.ArrayUtils;
import com.gitblit.wicket.GitBlitWebSession;
import com.gitblit.wicket.GitblitRedirectException;
import com.gitblit.wicket.WicketUtils;
@@ -44,27 +45,32 @@
if (repository == null) {
error(getString("gb.canNotLoadRepository") + " " + repositoryName, true);
}
-
+
if (repository.hasCommits) {
// redirect to the summary page if this repository is not empty
throw new GitblitRedirectException(SummaryPage.class, params);
}
-
+
setupPage(repositoryName, getString("gb.emptyRepository"));
- List<String> repositoryUrls = new ArrayList<String>();
-
- if (GitBlit.getBoolean(Keys.git.enableGitServlet, true)) {
- // add the Gitblit repository url
- repositoryUrls.add(getRepositoryUrl(repository));
- }
UserModel user = GitBlitWebSession.get().getUser();
- repositoryUrls.addAll(GitBlit.self().getOtherCloneUrls(repositoryName, user == null ? "" : user.username));
-
- String primaryUrl = ArrayUtils.isEmpty(repositoryUrls) ? "" : repositoryUrls.get(0);
+ if (user == null) {
+ user = UserModel.ANONYMOUS;
+ }
+
+ HttpServletRequest req = ((WebRequest) getRequest()).getHttpServletRequest();
+ List<RepositoryUrl> repositoryUrls = GitBlit.self().getRepositoryUrls(req, user, repository);
+ RepositoryUrl primaryUrl = repositoryUrls.size() == 0 ? null : repositoryUrls.get(0);
+ String url = primaryUrl != null ? primaryUrl.url : "";
+
add(new Label("repository", repositoryName));
- add(new RepositoryUrlPanel("pushurl", primaryUrl));
- add(new Label("cloneSyntax", MessageFormat.format("git clone {0}", repositoryUrls.get(0))));
- add(new Label("remoteSyntax", MessageFormat.format("git remote add gitblit {0}\ngit push gitblit master", primaryUrl)));
+ add(new RepositoryUrlPanel("pushurl", false, user, repository));
+ add(new Label("cloneSyntax", MessageFormat.format("git clone {0}", url)));
+ add(new Label("remoteSyntax", MessageFormat.format("git remote add gitblit {0}\ngit push gitblit master", url)));
+ }
+
+ @Override
+ protected Class<? extends BasePage> getRootNavPageClass() {
+ return RepositoriesPage.class;
}
}
--
Gitblit v1.9.1