+
+ Form form = new Form("changePasswordForm") {
+ @Override
+ protected void onSubmit() {
+ String current = _currentPassword.getValue();
+ String pw1 = _password1.getValue();
+ String pw2 = _password2.getValue();
+ if (!userAdmin.checkPassword(user.getName(), current)) {
+ error("password invalid");
+ return;
+ }
+ if (!pw1.equals(pw2)) {
+ error("Entered passwords differ");
+ return;
+ }
+ if (userAdmin.changePassword(user.getName(), current, pw1)) {
+ info("Password changed successfully");
+ setResponsePage(HomePage.class);
+ }
+ error("Could not change password");
+ }
+ };
+ add(form);
+ _currentPassword = new PasswordTextField("currentPassword", new Model(""));
+ _password1 = new PasswordTextField("password1", new Model(""));
+ _password2 = new PasswordTextField("password2", new Model(""));
+ form.add(_currentPassword);
+ form.add(_password1);
+ form.add(_password2);