From 82df524570e7bf27953b14f4797ff04daf89cc3a Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 09 Dec 2011 08:50:18 -0500
Subject: [PATCH] Implemented empty repository page (issue 31)

---
 src/com/gitblit/wicket/panels/RepositoriesPanel.java |   20 +++++++++++++++-----
 1 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/src/com/gitblit/wicket/panels/RepositoriesPanel.java b/src/com/gitblit/wicket/panels/RepositoriesPanel.java
index fd5e34f..fc90316 100644
--- a/src/com/gitblit/wicket/panels/RepositoriesPanel.java
+++ b/src/com/gitblit/wicket/panels/RepositoriesPanel.java
@@ -51,7 +51,9 @@
 import com.gitblit.utils.TimeUtils;
 import com.gitblit.wicket.GitBlitWebSession;
 import com.gitblit.wicket.WicketUtils;
+import com.gitblit.wicket.pages.BasePage;
 import com.gitblit.wicket.pages.EditRepositoryPage;
+import com.gitblit.wicket.pages.EmptyRepositoryPage;
 import com.gitblit.wicket.pages.SummaryPage;
 
 public class RepositoriesPanel extends BasePanel {
@@ -160,17 +162,25 @@
 				row.add(swatch);
 				swatch.setVisible(showSwatch);
 
-				if (entry.hasCommits && linksActive) {
+				if (linksActive) {
+					Class<? extends BasePage> linkPage;
+					if (entry.hasCommits) {
+						// repository has content
+						linkPage = SummaryPage.class;
+					} else {
+						// new/empty repository OR proposed repository
+						linkPage = EmptyRepositoryPage.class;
+					}
+
 					PageParameters pp = WicketUtils.newRepositoryParameter(entry.name);
-					row.add(new LinkPanel("repositoryName", "list", repoName, SummaryPage.class, pp));
+					row.add(new LinkPanel("repositoryName", "list", repoName, linkPage, pp));
 					row.add(new LinkPanel("repositoryDescription", "list", entry.description,
-							SummaryPage.class, pp));
+							linkPage, pp));
 				} else {
-					// new/empty repository OR proposed repository
+					// no links like on a federation page
 					row.add(new Label("repositoryName", repoName));
 					row.add(new Label("repositoryDescription", entry.description));
 				}
-
 				if (entry.hasCommits) {
 					// Existing repository
 					row.add(new Label("repositorySize", entry.size).setVisible(showSize));

--
Gitblit v1.9.1