From 08b991702febefc8682bbca60fe813df8e29d8cb Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Tue, 01 Jul 2014 09:29:10 -0400
Subject: [PATCH] Merge branch 'ticket/121' into develop
---
src/main/java/com/gitblit/wicket/GitBlitWebSession.java | 31 ++++++++++++++++++++-----------
1 files changed, 20 insertions(+), 11 deletions(-)
diff --git a/src/main/java/com/gitblit/wicket/GitBlitWebSession.java b/src/main/java/com/gitblit/wicket/GitBlitWebSession.java
index 5195a1f..b26a111 100644
--- a/src/main/java/com/gitblit/wicket/GitBlitWebSession.java
+++ b/src/main/java/com/gitblit/wicket/GitBlitWebSession.java
@@ -15,6 +15,7 @@
*/
package com.gitblit.wicket;
+import java.util.Locale;
import java.util.Map;
import java.util.TimeZone;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -41,27 +42,28 @@
private UserModel user;
private String errorMessage;
-
+
private String requestUrl;
-
+
private AtomicBoolean isForking;
-
+
public AuthenticationType authenticationType;
-
+
public GitBlitWebSession(Request request) {
super(request);
isForking = new AtomicBoolean();
authenticationType = AuthenticationType.CREDENTIALS;
}
+ @Override
public void invalidate() {
super.invalidate();
user = null;
}
-
+
/**
* Cache the requested protected resource pending successful authentication.
- *
+ *
* @param pageClass
*/
public void cacheRequest(Class<? extends Page> pageClass) {
@@ -80,14 +82,14 @@
bind();
}
}
-
+
/**
* Continue any cached request. This is used when a request for a protected
* resource is aborted/redirected pending proper authentication. Gitblit
* no longer uses Wicket's built-in mechanism for this because of Wicket's
* failure to properly handle parameters with forward-slashes. This is a
* constant source of headaches with Wicket.
- *
+ *
* @return false if there is no cached request to process
*/
public boolean continueRequest() {
@@ -109,7 +111,7 @@
}
return user.canAdmin();
}
-
+
public String getUsername() {
return user == null ? "anonymous" : user.username;
}
@@ -120,6 +122,13 @@
public void setUser(UserModel user) {
this.user = user;
+ if (user != null) {
+ Locale preferredLocale = user.getPreferences().getLocale();
+ if (preferredLocale != null) {
+ // set the user's preferred locale
+ setLocale(preferredLocale);
+ }
+ }
}
public TimeZone getTimezone() {
@@ -142,11 +151,11 @@
errorMessage = null;
return msg;
}
-
+
public boolean isForking() {
return isForking.get();
}
-
+
public void isForking(boolean val) {
isForking.set(val);
}
--
Gitblit v1.9.1