use of com.hack23.cia.web.impl.ui.application.views.pageclicklistener.ManageUserAccountClickListener in project cia by Hack23.
the class AdminUserAccountPageModContentFactoryImpl method createContent.
@Secured({ "ROLE_ADMIN" })
@Override
public Layout createContent(final String parameters, final MenuBar menuBar, final Panel panel) {
final VerticalLayout content = createPanelContent();
final String pageId = getPageId(parameters);
final int pageNr = getPageNr(parameters);
getMenuItemFactory().createMainPageMenuBar(menuBar);
LabelFactory.createHeader2Label(content, ADMIN_USERACCOUNT);
final DataContainer<UserAccount, Long> dataContainer = getApplicationManager().getDataContainer(UserAccount.class);
final List<UserAccount> pageOrderBy = dataContainer.getPageOrderBy(pageNr, DEFAULT_RESULTS_PER_PAGE, UserAccount_.createdDate);
createPagingControls(content, NAME, pageId, dataContainer.getSize(), pageNr, DEFAULT_RESULTS_PER_PAGE);
getGridFactory().createBasicBeanItemGrid(content, UserAccount.class, pageOrderBy, USER_ACCOUNT, COLUMN_ORDER, HIDE_COLUMNS, LISTENER, null, null);
if (pageId != null && !pageId.isEmpty()) {
final UserAccount userAccount = dataContainer.load(Long.valueOf(pageId));
if (userAccount != null) {
getFormFactory().addFormPanelTextFields(content, userAccount, UserAccount.class, AS_LIST);
final VerticalLayout overviewLayout = new VerticalLayout();
overviewLayout.setSizeFull();
content.addComponent(overviewLayout);
content.setExpandRatio(overviewLayout, ContentRatio.LARGE);
final ResponsiveRow grid = createGridLayout(overviewLayout);
for (final AccountOperation accountOperation : ManageUserAccountRequest.AccountOperation.values()) {
final ManageUserAccountRequest request = new ManageUserAccountRequest();
request.setSessionId(RequestContextHolder.currentRequestAttributes().getSessionId());
request.setAccountOperation(accountOperation);
request.setUserAcountId(userAccount.getUserId());
final Button accountOperationButton = new Button(MessageFormat.format(BUTTON_PATTERN, accountOperation), VaadinIcons.BULLSEYE);
accountOperationButton.addClickListener(new ManageUserAccountClickListener(request));
accountOperationButton.setId(MessageFormat.format(BUTTON_ID_PATTERN, ViewAction.START_AGENT_BUTTON, accountOperation));
createRowItem(grid, accountOperationButton, "Will perform useraccount action");
}
}
}
getPageActionEventHelper().createPageEvent(ViewAction.VISIT_ADMIN_USERACCOUNT_VIEW, ApplicationEventGroup.ADMIN, NAME, null, pageId);
return content;
}
Aggregations