Skip to content

Commit

Permalink
Added "Change Password" functionality to dataverse user page.
Browse files Browse the repository at this point in the history
  • Loading branch information
xyang02 committed Nov 22, 2013
1 parent 3380d10 commit 9e9a3ef
Showing 1 changed file with 23 additions and 3 deletions.
26 changes: 23 additions & 3 deletions src/main/java/edu/harvard/iq/dataverse/DataverseUserPage.java
Expand Up @@ -36,6 +36,9 @@ public enum EditMode {CREATE, INFO, EDIT, CHANGE};
@NotBlank(message = "Please enter a password for your account.")
private String inputPassword;

@NotBlank(message = "Please enter a password for your account.")
private String currentPassword;

public DataverseUser getDataverseUser() {
return dataverseUser;
}
Expand All @@ -59,11 +62,18 @@ public String getInputPassword() {
public void setInputPassword(String inputPassword) {
this.inputPassword = inputPassword;
}


public String getCurrentPassword() {
return currentPassword;
}

public void setCurrentPassword(String currentPassword) {
this.currentPassword = currentPassword;
}

public void init() {
if (dataverseUser.getId() != null) {
dataverseUser = dataverseUserService.find(dataverseUser.getId());

} else {
try {
dataverseUser = dataverseUserService.findDataverseUser();
Expand Down Expand Up @@ -106,8 +116,18 @@ public void validateUserName(FacesContext context, UIComponent toValidate, Objec
}
}

public void validatePassword(FacesContext context, UIComponent toValidate, Object value) {
String password = (String) value;
String encryptedPassword = PasswordEncryption.getInstance().encrypt(password);
if (!encryptedPassword.equals(dataverseUser.getEncryptedPassword())) {
((UIInput)toValidate).setValid(false);
FacesMessage message = new FacesMessage("Password is incorrect.");
context.addMessage(toValidate.getClientId(context), message);
}
}

public void save(ActionEvent e) {
if (editMode == EditMode.CREATE) {
if (editMode == EditMode.CREATE|| editMode == EditMode.CHANGE) {
if (inputPassword!=null) {
dataverseUser.setEncryptedPassword(dataverseUserService.encryptPassword(inputPassword));
}
Expand Down

0 comments on commit 9e9a3ef

Please sign in to comment.