From bc9d4a0f2266e5ac1a018f0b691c76d53479b9e5 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 29 Apr 2011 20:46:44 -0400
Subject: [PATCH] Working on error handling.

---
 src/com/gitblit/wicket/pages/RepositoriesPage.java |   26 ++++++++++++++++++++------
 1 files changed, 20 insertions(+), 6 deletions(-)

diff --git a/src/com/gitblit/wicket/pages/RepositoriesPage.java b/src/com/gitblit/wicket/pages/RepositoriesPage.java
index 768cea1..2edb3e8 100644
--- a/src/com/gitblit/wicket/pages/RepositoriesPage.java
+++ b/src/com/gitblit/wicket/pages/RepositoriesPage.java
@@ -52,6 +52,13 @@
 		adminLinks.add(new BookmarkablePageLink<Void>("newUser", RepositoriesPage.class));
 		add(adminLinks.setVisible(showAdmin));
 
+		// display an error message cached from a redirect
+		String cachedMessage = GitBlitWebSession.get().clearErrorMessage();
+		if (!StringUtils.isEmpty(cachedMessage)) {
+			error(cachedMessage);
+			System.out.println("displayed message");
+		}
+		
 		// Load the markdown welcome message
 		String messageSource = GitBlit.self().settings().getString(Keys.web.repositoriesMessage, "gitblit");
 		String message = "";
@@ -64,7 +71,7 @@
 				message = StringUtils.transformMarkdown(reader);
 			} catch (Throwable t) {
 				message = "Failed to read default welcome message!";
-				error(message, t);
+				error(message, t, false);
 			}
 		} else {
 			// Read user-supplied welcome message
@@ -76,7 +83,7 @@
 						message = StringUtils.transformMarkdown(reader);
 					} catch (Throwable t) {
 						message = "Failed to read " + file;
-						error(message, t);
+						error(message, t, false);
 					}
 				} else {
 					message = messageSource + " is not a valid file.";
@@ -97,10 +104,17 @@
 
 			public void populateItem(final Item<RepositoryModel> item) {
 				final RepositoryModel entry = item.getModelObject();
-				PageParameters pp = WicketUtils.newRepositoryParameter(entry.name);
-				item.add(new LinkPanel("repositoryName", "list", entry.name, SummaryPage.class, pp));
-				item.add(new LinkPanel("repositoryDescription", "list", entry.description, SummaryPage.class, pp));
-
+				if (entry.hasCommits) {
+					// Existing repository
+					PageParameters pp = WicketUtils.newRepositoryParameter(entry.name);
+					item.add(new LinkPanel("repositoryName", "list", entry.name, SummaryPage.class, pp));
+					item.add(new LinkPanel("repositoryDescription", "list", entry.description, SummaryPage.class, pp));
+				} else {
+					// New repository
+					item.add(new Label("repositoryName", entry.name + "<span class='empty'>(empty)</span>").setEscapeModelStrings(false));
+					item.add(new Label("repositoryDescription", entry.description));					
+				}
+				
 				if (entry.useTickets) {
 					item.add(WicketUtils.newImage("ticketsIcon", "bug_16x16.png", getString("gb.tickets")));
 				} else {

--
Gitblit v1.9.1