From 9da97003c7f33a64ae5060f413f9c4c5d26efe78 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 19 May 2011 19:01:45 -0400
Subject: [PATCH] Critical fix for servlet.

---
 src/com/gitblit/wicket/GitBlitWebSession.java |   36 ++++++++++++++++++++++++++++++++++++
 1 files changed, 36 insertions(+), 0 deletions(-)

diff --git a/src/com/gitblit/wicket/GitBlitWebSession.java b/src/com/gitblit/wicket/GitBlitWebSession.java
index 038118e..4996546 100644
--- a/src/com/gitblit/wicket/GitBlitWebSession.java
+++ b/src/com/gitblit/wicket/GitBlitWebSession.java
@@ -7,11 +7,17 @@
 import org.apache.wicket.protocol.http.WebSession;
 import org.apache.wicket.protocol.http.request.WebClientInfo;
 
+import com.gitblit.wicket.models.UserModel;
+
 public final class GitBlitWebSession extends WebSession {
 
 	private static final long serialVersionUID = 1L;
 
 	protected TimeZone timezone = null;
+
+	private UserModel user = null;
+	
+	private String errorMessage = null;
 
 	public GitBlitWebSession(Request request) {
 		super(request);
@@ -19,6 +25,26 @@
 
 	public void invalidate() {
 		super.invalidate();
+		user = null;
+	}
+
+	public boolean isLoggedIn() {
+		return user != null;
+	}
+
+	public boolean canAdmin() {
+		if (user == null) {
+			return false;
+		}
+		return user.canAdmin();
+	}
+
+	public UserModel getUser() {
+		return user;
+	}
+
+	public void setUser(UserModel user) {
+		this.user = user;
 	}
 
 	public TimeZone getTimezone() {
@@ -31,6 +57,16 @@
 		}
 		return timezone;
 	}
+	
+	public void cacheErrorMessage(String message) {
+		this.errorMessage = message;
+	}
+	
+	public String clearErrorMessage() {
+		String msg = errorMessage;
+		errorMessage = null;
+		return msg;
+	}
 
 	public static GitBlitWebSession get() {
 		return (GitBlitWebSession) Session.get();

--
Gitblit v1.9.1