@Override
public ActionLinksPanel getActions(final String componentId, final IModel<AbstractAttributableTO> model) {
final ActionLinksPanel panel = new ActionLinksPanel(componentId, model, page.getPageReference());
panel.add(new ActionLink() {
private static final long serialVersionUID = -7978723352517770644L;
@Override
public void onClick(final AjaxRequestTarget target) {
statusmodal.setPageCreator(new ModalWindow.PageCreator() {
private static final long serialVersionUID = -7834632442532690940L;
@Override
public Page createPage() {
return new StatusModalPage(page.getPageReference(), statusmodal, model.getObject());
}
});
statusmodal.show(target);
}
}, ActionLink.ActionType.ENABLE, PAGEID);
panel.add(new ActionLink() {
private static final long serialVersionUID = -7978723352517770644L;
@Override
public void onClick(final AjaxRequestTarget target) {
editmodal.setPageCreator(new ModalWindow.PageCreator() {
private static final long serialVersionUID = -7834632442532690940L;
@Override
public Page createPage() {
// SYNCOPE-294: re-read userTO before edit
UserTO userTO = ((UserRestClient) restClient).read(model.getObject().getId());
return new EditUserModalPage(page.getPageReference(), editmodal, userTO);
}
});
editmodal.show(target);
}
}, ActionLink.ActionType.EDIT, PAGEID);
panel.add(new ActionLink() {
private static final long serialVersionUID = -7978723352517770644L;
@Override
public void onClick(final AjaxRequestTarget target) {
try {
final UserTO userTO = (UserTO) restClient.delete(model.getObject().getId());
page.setModalResult(true);
editmodal.setPageCreator(new ModalWindow.PageCreator() {
private static final long serialVersionUID = -7834632442532690940L;
@Override
public Page createPage() {
return new ResultStatusModalPage(editmodal, userTO);
}
});
editmodal.show(target);
} catch (SyncopeClientCompositeErrorException scce) {
error(getString("operation_error") + ": " + scce.getMessage());
target.add(feedbackPanel);
}
}
}, ActionLink.ActionType.DELETE, PAGEID);
return panel;
}
@Override
public ActionLinksPanel getHeader(final String componentId) {
final ActionLinksPanel panel = new ActionLinksPanel(componentId, new Model(), page.getPageReference());
panel.add(new ActionLink() {
private static final long serialVersionUID = -7978723352517770644L;
@Override
public void onClick(final AjaxRequestTarget target) {
displaymodal.setPageCreator(new ModalWindow.PageCreator() {
private static final long serialVersionUID = -7834632442532690940L;
@Override
public Page createPage() {
return new DisplayAttributesModalPage(page.getPageReference(), displaymodal,
schemaNames, dSchemaNames, vSchemaNames);
}
});
displaymodal.show(target);
}
}, ActionLink.ActionType.CHANGE_VIEW, PAGEID);
panel.add(new ActionLink() {
private static final long serialVersionUID = -7978723352517770644L;
@Override
public void onClick(final AjaxRequestTarget target) {