package net.rrm.ehour.ui.userprefs.panel;
import net.rrm.ehour.ui.common.component.AjaxFormComponentFeedbackIndicator;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.PasswordTextField;
import org.apache.wicket.markup.html.form.validation.EqualPasswordInputValidator;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.ResourceModel;
public class PasswordFieldFactory {
public static void createOptionalPasswordFields(Form<?> form, IModel<String> model) {
createPasswordFields(form, model, true);
}
public static void createPasswordFields(Form<?> form, IModel<String> model) {
createPasswordFields(form, model, false);
}
private static void createPasswordFields(Form<?> form, IModel<String> model, boolean optional) {
// password inputs
PasswordTextField passwordTextField = new PasswordTextField("password", model);
passwordTextField.setLabel(new ResourceModel("user.password"));
passwordTextField.setRequired(!optional);
form.add(passwordTextField);
PasswordTextField confirmPasswordTextField = new PasswordTextField("confirmPassword", new Model<String>());
confirmPasswordTextField.setRequired(!optional);
form.add(confirmPasswordTextField);
form.add(new AjaxFormComponentFeedbackIndicator("confirmPasswordValidationError", confirmPasswordTextField));
form.add(new EqualPasswordInputValidator(passwordTextField, confirmPasswordTextField) {
protected String resourceKey() {
return "user.errorConfirmPassNeeded";
}
});
}
}