From d97e52ef501a72fcf16aee02d7e79c91d123dfe6 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 24 Aug 2012 13:32:44 -0400
Subject: [PATCH] Implemented custom request handling for (un)authenticated sessions to workaround Wicket bugs

---
 src/com/gitblit/wicket/pages/RepositoryPage.java |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/com/gitblit/wicket/pages/RepositoryPage.java b/src/com/gitblit/wicket/pages/RepositoryPage.java
index 6d33a14..19a5de2 100644
--- a/src/com/gitblit/wicket/pages/RepositoryPage.java
+++ b/src/com/gitblit/wicket/pages/RepositoryPage.java
@@ -151,7 +151,7 @@
 		if (showAdmin
 				|| GitBlitWebSession.get().isLoggedIn()
 				&& (model.owner != null && model.owner.equalsIgnoreCase(GitBlitWebSession.get()
-						.getUser().username))) {
+						.getUsername()))) {
 			pages.put("edit", new PageRegistration("gb.edit", EditRepositoryPage.class, params));
 		}
 		return pages;
@@ -198,7 +198,13 @@
 			RepositoryModel model = GitBlit.self().getRepositoryModel(
 					GitBlitWebSession.get().getUser(), repositoryName);
 			if (model == null) {
-				authenticationError(getString("gb.unauthorizedAccessForRepository") + " " + repositoryName);
+				if (GitBlit.self().hasRepository(repositoryName)) {
+					// has repository, but unauthorized
+					authenticationError(getString("gb.unauthorizedAccessForRepository") + " " + repositoryName);
+				} else {
+					// does not have repository
+					error(getString("gb.canNotLoadRepository") + " " + repositoryName, true);
+				}
 				return null;
 			}
 			m = model;

--
Gitblit v1.9.1