package org.brixcms.plugin.usermgmt.role.admin;
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.role.Role;
import org.brixcms.plugin.usermgmt.role.service.RoleService;
import org.brixcms.web.ContainerFeedbackPanel;
import org.brixcms.web.generic.BrixGenericPanel;
/**
* @author dan.simko@gmail.com
*/
@SuppressWarnings("serial")
public class CreateRolePanel extends BrixGenericPanel<Role> {
@SpringBean
private RoleService roleService;
public CreateRolePanel(String id, SimpleCallback goBack) {
super(id, new CompoundPropertyModel<Role>(new EntityModel<>(new Role())));
Form<?> form = new Form<CreateRolePanel>("form");
add(form);
form.add(new TextField<>("name").setRequired(true));
form.add(new ContainerFeedbackPanel("feedback", this));
form.add(new SubmitLink("create") {
@Override
public void onSubmit() {
roleService.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();
}
});
}
}