package de.flower.rmt.ui.page.account; import de.flower.common.ui.panel.BasePanel; import de.flower.rmt.model.db.entity.User; import de.flower.rmt.model.dto.Password; import de.flower.rmt.service.IUserManager; import de.flower.rmt.ui.markup.html.form.EntityForm; import de.flower.rmt.ui.markup.html.form.field.PasswordTextFieldPanel; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.model.IModel; import org.apache.wicket.spring.injection.annot.SpringBean; import org.wicketstuff.jsr303.validator.FormComponentBeanValidator; /** * @author flowerrrr */ public class AccountPasswordPanel extends BasePanel<User> { @SpringBean private IUserManager userManager; public AccountPasswordPanel(String id, final IModel<User> model) { super(id, model); EntityForm<Password> form = new EntityForm<Password>("form", new Password(model.getObject().getId())) { @Override protected void onSubmit(final AjaxRequestTarget target, final Form<Password> form) { userManager.updatePassword(model.getObject().getId(), form.getModelObject()); } }; add(form); PasswordTextFieldPanel oldPassword = new PasswordTextFieldPanel("oldPassword"); form.add(oldPassword); oldPassword.addValidator(new FormComponentBeanValidator(Password.Validation.IPasswordMatches.class)); form.add(new PasswordTextFieldPanel("newPassword")); PasswordTextFieldPanel newPasswordRepeat = new PasswordTextFieldPanel("newPasswordRepeat"); form.add(newPasswordRepeat); newPasswordRepeat.addValidator(new FormComponentBeanValidator(Password.Validation.IPasswordEquals.class)); } }