use of cz.metacentrum.perun.webgui.client.applicationresources.pages.ApplicationFormPage in project perun by CESNET.
the class ApplicationFormGui method prepareGui.
/**
* Prepares the GUI
* @param entity PerunEntity GROUP or VO
* @param applicationType INITIAL | EXTENSION
*/
protected void prepareGui(PerunEntity entity, String applicationType) {
if (Location.getParameterMap().keySet().contains("m") && Location.getParameterMap().keySet().contains("i")) {
String verifyI = Location.getParameter("i");
String verifyM = Location.getParameter("m");
if (verifyI != null && !verifyI.isEmpty() && verifyM != null && !verifyM.isEmpty()) {
final SimplePanel verifContent = new SimplePanel();
Anchor a = leftMenu.addItem(ApplicationMessages.INSTANCE.emailValidationMenuItem(), SmallIcons.INSTANCE.emailIcon(), verifContent);
a.fireEvent(new ClickEvent() {
});
ValidateEmail request = new ValidateEmail(verifyI, verifyM, new JsonCallbackEvents() {
@Override
public void onLoadingStart() {
verifContent.clear();
verifContent.add(new AjaxLoaderImage());
}
@Override
public void onFinished(JavaScriptObject jso) {
BasicOverlayType obj = jso.cast();
if (obj.getBoolean() == true) {
verifContent.clear();
FlexTable ft = new FlexTable();
ft.setSize("100%", "300px");
ft.setHTML(0, 0, new Image(LargeIcons.INSTANCE.acceptIcon()) + "<h2>" + ApplicationMessages.INSTANCE.emailValidationSuccess() + "</h2>");
ft.getFlexCellFormatter().setHorizontalAlignment(0, 0, HasHorizontalAlignment.ALIGN_CENTER);
ft.getFlexCellFormatter().setVerticalAlignment(0, 0, HasVerticalAlignment.ALIGN_MIDDLE);
verifContent.add(ft);
} else {
verifContent.clear();
FlexTable ft = new FlexTable();
ft.setSize("100%", "300px");
ft.setHTML(0, 0, new Image(LargeIcons.INSTANCE.deleteIcon()) + "<h2>" + ApplicationMessages.INSTANCE.emailValidationFail() + "</h2>");
ft.getFlexCellFormatter().setHorizontalAlignment(0, 0, HasHorizontalAlignment.ALIGN_CENTER);
ft.getFlexCellFormatter().setVerticalAlignment(0, 0, HasVerticalAlignment.ALIGN_MIDDLE);
verifContent.add(ft);
}
}
@Override
public void onError(PerunError error) {
((AjaxLoaderImage) verifContent.getWidget()).loadingError(error);
}
});
request.retrieveData();
leftMenu.addLogoutItem();
return;
}
}
// group and extension is not allowed
if (group != null && applicationType.equalsIgnoreCase("EXTENSION")) {
RootLayoutPanel panel = RootLayoutPanel.get();
panel.clear();
FlexTable ft = new FlexTable();
ft.setSize("100%", "300px");
ft.setHTML(0, 0, new Image(LargeIcons.INSTANCE.errorIcon()) + "<h2>Error: " + ApplicationMessages.INSTANCE.groupMembershipCantBeExtended(group.getName()) + "</h2>");
ft.getFlexCellFormatter().setHorizontalAlignment(0, 0, HasHorizontalAlignment.ALIGN_CENTER);
ft.getFlexCellFormatter().setVerticalAlignment(0, 0, HasVerticalAlignment.ALIGN_MIDDLE);
panel.add(ft);
// redirect if possible
if (Location.getParameter("targetexisting") != null) {
Location.replace(Location.getParameter("targetexisting"));
}
return;
}
// application form page
ApplicationFormPage formPage = new ApplicationFormPage(vo, group, applicationType);
// even user "not yet in perun" can have some applications sent (therefore display by session info)
UsersApplicationsPage appsPage = new UsersApplicationsPage();
// if rt test
if ("true".equals(Location.getParameter("rttest"))) {
TestRtReportingTabItem tabItem = new TestRtReportingTabItem();
Widget rtTab = tabItem.draw();
leftMenu.addItem("RT test", SmallIcons.INSTANCE.settingToolsIcon(), rtTab);
}
// proper menu text
String appMenuText = ApplicationMessages.INSTANCE.applicationFormForVo(vo.getName());
if (group != null) {
appMenuText = ApplicationMessages.INSTANCE.applicationFormForGroup(group.getName());
}
if (applicationType.equalsIgnoreCase("EXTENSION")) {
appMenuText = ApplicationMessages.INSTANCE.membershipExtensionForVo(vo.getName());
if (group != null) {
appMenuText = ApplicationMessages.INSTANCE.membershipExtensionForGroup(group.getName());
}
}
// load list of applications first if param in session
if ("apps".equals(Location.getParameter("page"))) {
Anchor a = leftMenu.addItem(ApplicationMessages.INSTANCE.applications(), SmallIcons.INSTANCE.applicationFromStorageIcon(), appsPage);
leftMenu.addItem(appMenuText, SmallIcons.INSTANCE.applicationFormIcon(), formPage);
a.fireEvent(new ClickEvent() {
});
//appsPage.menuClick(); // load list of apps
} else {
Anchor a = leftMenu.addItem(appMenuText, SmallIcons.INSTANCE.applicationFormIcon(), formPage);
leftMenu.addItem(ApplicationMessages.INSTANCE.applications(), SmallIcons.INSTANCE.applicationFromStorageIcon(), appsPage);
a.fireEvent(new ClickEvent() {
});
//formPage.menuClick(); // load application form
}
leftMenu.addLogoutItem();
}
Aggregations