package org.brixcms.plugin.usermgmt.user.admin; import java.util.Arrays; import org.apache.wicket.markup.html.form.Button; import org.apache.wicket.markup.html.form.DropDownChoice; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.markup.html.form.TextField; import org.apache.wicket.markup.html.link.Link; import org.apache.wicket.model.CompoundPropertyModel; import org.apache.wicket.model.IModel; import org.apache.wicket.spring.injection.annot.SpringBean; import org.brixcms.plugin.usermgmt.user.User; import org.brixcms.plugin.usermgmt.user.service.UserService; import org.brixcms.web.generic.BrixGenericPanel; /** * @author dan.simko@gmail.com */ @SuppressWarnings("serial") abstract class EditTab extends BrixGenericPanel<User> { @SpringBean private UserService userService; public EditTab(String id, final IModel<User> model) { super(id, new CompoundPropertyModel<>(model)); Form<Void> form = new Form<Void>("form"); form.add(new TextField<>("username").setEnabled(false)); form.add(new TextField<>("firstName")); form.add(new TextField<>("lastName")); form.add(new TextField<>("email")); form.add(new DropDownChoice<>("verified", Arrays.asList(Boolean.TRUE, Boolean.FALSE))); add(form); form.add(new Button("save") { @Override public void onSubmit() { userService.save(EditTab.this.getModelObject()); getSession().info(getString("usermgmt-plugin.status.saved")); goBack(); } }); form.add(new Link<Void>("cancel") { @Override public void onClick() { getSession().info(getString("usermgmt-plugin.status.cancelled")); goBack(); } }); } abstract void goBack(); }