From c19ae5c6d45085528dae8c94a2eb737e06c335ce Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Sun, 22 May 2011 13:04:11 -0400
Subject: [PATCH] Documentation.
---
src/com/gitblit/wicket/LoginPage.java | 44 +++++++++++++++++++++-----------------------
1 files changed, 21 insertions(+), 23 deletions(-)
diff --git a/src/com/gitblit/wicket/LoginPage.java b/src/com/gitblit/wicket/LoginPage.java
index e27adc3..db971d2 100644
--- a/src/com/gitblit/wicket/LoginPage.java
+++ b/src/com/gitblit/wicket/LoginPage.java
@@ -1,24 +1,24 @@
package com.gitblit.wicket;
import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletRequest;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.PasswordTextField;
+import org.apache.wicket.markup.html.form.StatelessForm;
import org.apache.wicket.markup.html.form.TextField;
-import org.apache.wicket.markup.html.image.ContextImage;
import org.apache.wicket.markup.html.panel.FeedbackPanel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.protocol.http.WebRequest;
import org.apache.wicket.protocol.http.WebResponse;
-import org.apache.wicket.protocol.http.servlet.ServletWebRequest;
import com.gitblit.Constants;
import com.gitblit.GitBlit;
+import com.gitblit.Keys;
+import com.gitblit.wicket.models.UserModel;
public class LoginPage extends WebPage {
@@ -30,8 +30,7 @@
tryAutomaticLogin();
- add(new Label("title", getServerName()));
- add(new ContextImage("logo", "gitblt2.png"));
+ add(new Label("title", GitBlit.self().settings().getString(Keys.web.siteName, Constants.NAME)));
add(new Label("name", Constants.NAME));
Form<Void> loginForm = new LoginForm("loginForm");
@@ -40,26 +39,29 @@
loginForm.add(new FeedbackPanel("feedback"));
add(loginForm);
}
-
- protected String getServerName() {
- ServletWebRequest servletWebRequest = (ServletWebRequest) getRequest();
- HttpServletRequest req = servletWebRequest.getHttpServletRequest();
- return req.getServerName();
- }
- class LoginForm extends Form<Void> {
+ class LoginForm extends StatelessForm<Void> {
private static final long serialVersionUID = 1L;
public LoginForm(String id) {
super(id);
+
+ // If we are already logged in because user directly accessed
+ // the login url, redirect to the home page
+ if (GitBlitWebSession.get().isLoggedIn()) {
+ setRedirect(true);
+ setResponsePage(getApplication().getHomePage());
+ }
+
+ tryAutomaticLogin();
}
@Override
public void onSubmit() {
String username = LoginPage.this.username.getObject();
- char [] password = LoginPage.this.password.getObject().toCharArray();
+ char[] password = LoginPage.this.password.getObject().toCharArray();
- User user = GitBlit.self().authenticate(username, password);
+ UserModel user = GitBlit.self().authenticate(username, password);
if (user == null)
error("Invalid username or password!");
else
@@ -68,7 +70,7 @@
}
private void tryAutomaticLogin() {
- User user = null;
+ UserModel user = null;
// Grab cookie from Browser Session
Cookie[] cookies = ((WebRequest) getRequestCycle().getRequest()).getCookies();
@@ -80,22 +82,18 @@
loginUser(user);
}
- private void loginUser(User user) {
+ private void loginUser(UserModel user) {
if (user != null) {
- GitBlitWebSession session = GitBlitWebSession.get();
+ // Set the user into the session
+ GitBlitWebSession.get().setUser(user);
// Set Cookie
WebResponse response = (WebResponse) getRequestCycle().getResponse();
GitBlit.self().setCookie(response, user);
-
- // track user object so that we do not have to continue
- // re-authenticating on each request.
- session.setUser(user);
- // Redirect to original page OR to first available tab
if (!continueToOriginalDestination()) {
// Redirect to home page
- setResponsePage(session.getApplication().getHomePage());
+ setResponsePage(getApplication().getHomePage());
}
}
}
--
Gitblit v1.9.1