From 07eb0963cae3a403f8774f65afa20c940ce7124f Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 13 Jun 2014 08:57:41 -0400
Subject: [PATCH] Merged #103 "flotr2 throws exception on small dashboards"

---
 src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage.java |   44 +++++++++++++++++++++++++-------------------
 1 files changed, 25 insertions(+), 19 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..00bac63 100644
--- a/src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage.java
@@ -16,17 +16,17 @@
 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;
@@ -40,31 +40,37 @@
 		setVersioned(false);
 
 		String repositoryName = WicketUtils.getRepositoryName(params);
-		RepositoryModel repository = GitBlit.self().getRepositoryModel(repositoryName);
+		RepositoryModel repository = app().repositories().getRepositoryModel(repositoryName);
 		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 = app().gitblit().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 origin {0}\ngit push -u origin --all\ngit push -u origin --tags", url)));
+		add(new Label("upstreamSyntax", "git remote add upstream <upstream repository url>"));
+	}
+
+	@Override
+	protected Class<? extends BasePage> getRootNavPageClass() {
+		return RepositoriesPage.class;
 	}
 }

--
Gitblit v1.9.1