Paul Martin
2016-04-16 eecaad8b8e2c447429c31a01d49260ddd6b4ee03
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;
@@ -29,7 +30,6 @@
import org.apache.wicket.protocol.http.WebSession;
import org.apache.wicket.protocol.http.request.WebClientInfo;
import com.gitblit.Constants.AuthenticationType;
import com.gitblit.models.UserModel;
public final class GitBlitWebSession extends WebSession {
@@ -41,27 +41,25 @@
   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 +78,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 +107,7 @@
      }
      return user.canAdmin();
   }
   public String getUsername() {
      return user == null ? "anonymous" : user.username;
   }
@@ -120,6 +118,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 +147,11 @@
      errorMessage = null;
      return msg;
   }
   public boolean isForking() {
      return isForking.get();
   }
   public void isForking(boolean val) {
      isForking.set(val);
   }