From 9effe1630d97039b3e01cd9b58ed07e75be1d63c Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Mon, 25 Feb 2013 08:40:30 -0500
Subject: [PATCH] Merge pull request #75 from thefake/master

---
 src/com/gitblit/wicket/pages/ChangePasswordPage.java |   18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/src/com/gitblit/wicket/pages/ChangePasswordPage.java b/src/com/gitblit/wicket/pages/ChangePasswordPage.java
index d7c774d..c401420 100644
--- a/src/com/gitblit/wicket/pages/ChangePasswordPage.java
+++ b/src/com/gitblit/wicket/pages/ChangePasswordPage.java
@@ -50,7 +50,14 @@
 			// no authentication enabled
 			throw new RestartResponseException(getApplication().getHomePage());
 		}
-		setupPage(getString("gb.changePassword"), GitBlitWebSession.get().getUser().username);
+		
+		UserModel user = GitBlitWebSession.get().getUser();		
+		if (!GitBlit.self().supportsCredentialChanges(user)) {
+			error(MessageFormat.format(getString("gb.userServiceDoesNotPermitPasswordChanges"),
+					GitBlit.getString(Keys.realm.userService, "${baseFolder}/users.conf")), true);
+		}
+		
+		setupPage(getString("gb.changePassword"), user.username);
 
 		StatelessForm<Void> form = new StatelessForm<Void>("passwordForm") {
 
@@ -62,7 +69,7 @@
 				String confirmPassword = ChangePasswordPage.this.confirmPassword.getObject();
 				// ensure passwords match
 				if (!password.equals(confirmPassword)) {
-					error("Passwords do not match!");
+					error(getString("gb.passwordsDoNotMatch"));
 					return;
 				}
 
@@ -72,8 +79,7 @@
 					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;
 				}
 
@@ -102,7 +108,7 @@
 					return;
 				}
 				setRedirect(false);
-				info("Password successfully changed.");
+				info(getString("gb.passwordChanged"));
 				setResponsePage(RepositoriesPage.class);
 			}
 		};
@@ -121,7 +127,7 @@
 			@Override
 			public void onSubmit() {
 				setRedirect(false);
-				error("Password change aborted.");
+				error(getString("gb.passwordChangeAborted"));
 				setResponsePage(RepositoriesPage.class);
 			}
 		};

--
Gitblit v1.9.1