package org.brixcms.plugin.usermgmt.role.admin;
import org.apache.wicket.markup.html.form.Button;
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.role.Role;
import org.brixcms.plugin.usermgmt.role.service.RoleService;
import org.brixcms.web.generic.BrixGenericPanel;
/**
* @author dan.simko@gmail.com
*/
@SuppressWarnings("serial")
abstract class EditTab extends BrixGenericPanel<Role> {
@SpringBean
private RoleService roleService;
public EditTab(String id, final IModel<Role> model) {
super(id, new CompoundPropertyModel<>(model));
Form<Void> form = new Form<Void>("form");
form.add(new TextField<>("name"));
add(form);
form.add(new Button("save") {
@Override
public void onSubmit() {
roleService.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();
}