From 6fdbc6b5bdb805d1faefe3f26105d5adfa37d5a1 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 28 Mar 2012 12:03:19 -0400
Subject: [PATCH] Merge pull request #9 from mohamedmansour/master
---
src/com/gitblit/wicket/pages/ChangePasswordPage.java | 32 +++++++++++++++-----------------
1 files changed, 15 insertions(+), 17 deletions(-)
diff --git a/src/com/gitblit/wicket/pages/ChangePasswordPage.java b/src/com/gitblit/wicket/pages/ChangePasswordPage.java
index 054b343..5e15c8f 100644
--- a/src/com/gitblit/wicket/pages/ChangePasswordPage.java
+++ b/src/com/gitblit/wicket/pages/ChangePasswordPage.java
@@ -18,17 +18,13 @@
import java.text.MessageFormat;
import org.apache.wicket.RestartResponseException;
-import org.apache.wicket.markup.html.WebPage;
-import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.Button;
import org.apache.wicket.markup.html.form.PasswordTextField;
import org.apache.wicket.markup.html.form.StatelessForm;
-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.WebResponse;
-import com.gitblit.Constants;
import com.gitblit.GitBlit;
import com.gitblit.GitBlitException;
import com.gitblit.Keys;
@@ -36,7 +32,7 @@
import com.gitblit.utils.StringUtils;
import com.gitblit.wicket.GitBlitWebSession;
-public class ChangePasswordPage extends WebPage {
+public class ChangePasswordPage extends RootSubPage {
IModel<String> password = new Model<String>("");
IModel<String> confirmPassword = new Model<String>("");
@@ -54,10 +50,7 @@
// no authentication enabled
throw new RestartResponseException(getApplication().getHomePage());
}
-
- add(new Label("title", GitBlit.getString(Keys.web.siteName, Constants.NAME)));
- add(new Label("name", getString("gb.changePassword") + ": "
- + GitBlitWebSession.get().getUser().username));
+ setupPage(getString("gb.changePassword"), GitBlitWebSession.get().getUser().username);
StatelessForm<Void> form = new StatelessForm<Void>("passwordForm") {
@@ -69,7 +62,7 @@
String confirmPassword = ChangePasswordPage.this.confirmPassword.getObject();
// ensure passwords match
if (!password.equals(confirmPassword)) {
- error("Passwords do not match!");
+ error(getString("gb.passwordsDoNotMatch"));
return;
}
@@ -79,19 +72,23 @@
minLength = 4;
}
if (password.length() < minLength) {
- error(MessageFormat.format(
- "Password is too short. Minimum length is {0} characters.", minLength));
+ error(MessageFormat.format(getString("gb.passwordTooShort"), minLength));
return;
}
+
+ UserModel user = GitBlitWebSession.get().getUser();
// convert to MD5 digest, if appropriate
String type = GitBlit.getString(Keys.realm.passwordStorage, "md5");
if (type.equalsIgnoreCase("md5")) {
// store MD5 digest of password
password = StringUtils.MD5_TYPE + StringUtils.getMD5(password);
+ } else if (type.equalsIgnoreCase("combined-md5")) {
+ // store MD5 digest of username+password
+ password = StringUtils.COMBINED_MD5_TYPE
+ + StringUtils.getMD5(user.username.toLowerCase() + password);
}
- UserModel user = GitBlitWebSession.get().getUser();
user.password = password;
try {
GitBlit.self().updateUserModel(user.username, user, false);
@@ -104,7 +101,7 @@
return;
}
setRedirect(false);
- info("Password successfully changed.");
+ info(getString("gb.passwordChanged"));
setResponsePage(RepositoriesPage.class);
}
};
@@ -115,14 +112,15 @@
confirmPassword);
confirmPasswordField.setResetPassword(false);
form.add(confirmPasswordField);
- form.add(new FeedbackPanel("feedback"));
- form.add(new Button("save"));
- Button cancel = new Button("cancel") {
+ form.add(new Button(getString("gb.save")));
+ Button cancel = new Button(getString("gb.cancel")) {
private static final long serialVersionUID = 1L;
@Override
public void onSubmit() {
+ setRedirect(false);
+ error(getString("gb.passwordChangeAborted"));
setResponsePage(RepositoriesPage.class);
}
};
--
Gitblit v1.9.1