package org.brixcms.plugin.usermgmt.user.admin; import java.util.Arrays; import org.apache.wicket.markup.html.form.DropDownChoice; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.markup.html.form.SubmitLink; 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.spring.injection.annot.SpringBean; import org.brixcms.plugin.jpa.web.admin.EntityModel; import org.brixcms.plugin.site.SimpleCallback; import org.brixcms.plugin.usermgmt.user.User; import org.brixcms.plugin.usermgmt.user.service.UserService; import org.brixcms.web.ContainerFeedbackPanel; import org.brixcms.web.generic.BrixGenericPanel; /** * @author dan.simko@gmail.com */ @SuppressWarnings("serial") public class CreateUserPanel extends BrixGenericPanel<User> { @SpringBean private UserService userService; public CreateUserPanel(String id, SimpleCallback goBack) { super(id, new CompoundPropertyModel<User>(new EntityModel<>(new User()))); Form<User> form = new Form<>("form"); form.add(new TextField<>("username").setRequired(true)); 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 ContainerFeedbackPanel("feedback", this)); form.add(new SubmitLink("create") { @Override public void onSubmit() { userService.save(getModelObject()); getSession().info(getString("usermgmt-plugin.status.saved")); goBack.execute(); } }); form.add(new Link<Void>("cancel") { @Override public void onClick() { getSession().info(getString("usermgmt-plugin.status.cancelled")); goBack.execute(); } }); } }