/** * handle a click or select from the advanced menu * * @param httpServletRequest * @param httpServletResponse */ public void advancedMenu( HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { GuiResponseJs guiResponseJs = GuiResponseJs.retrieveGuiResponseJs(); final Subject loggedInSubject = GrouperUiFilter.retrieveSubjectLoggedIn(); GrouperSession grouperSession = null; Group group = null; try { grouperSession = GrouperSession.start(loggedInSubject); // make sure we are on the right group group = new SimpleMembershipUpdate().retrieveGroup(grouperSession); } catch (NoSessionException se) { throw se; } catch (ControllerDone cd) { throw cd; } catch (Exception se) { throw new RuntimeException("Error advanced menu: " + group + ", " + se.getMessage(), se); } finally { GrouperSession.stopQuietly(grouperSession); } String menuItemId = httpServletRequest.getParameter("menuItemId"); String menuEvent = httpServletRequest.getParameter("menuEvent"); boolean isOnClick = StringUtils.equals("onClick", menuEvent); // String menuHtmlId = httpServletRequest.getParameter("menuHtmlId"); // String menuRadioGroup = httpServletRequest.getParameter("menuRadioGroup"); String menuCheckboxChecked = httpServletRequest.getParameter("menuCheckboxChecked"); // guiResponseJs.addAction(GuiScreenAction.newAlert("Menu action: menuItemId: " + menuItemId // + ", menuHtmlId: " + menuHtmlId // + ", menuRadioGroup: " // + menuRadioGroup + ", menuCheckboxChecked: " + menuCheckboxChecked)); if (StringUtils.equals(menuItemId, "inviteLink")) { guiResponseJs.addAction( GuiScreenAction.newScript( "window.location = 'grouper.html?operation=InviteExternalSubjects.inviteExternalSubject&groupId=" + group.getUuid() + "'")); } else if (StringUtils.equals(menuItemId, "showGroupDetails")) { if (!isOnClick) { if (GrouperUtil.booleanValue(menuCheckboxChecked)) { guiResponseJs.addAction( GuiScreenAction.newHideShowNameToShow("simpleMembershipUpdateGroupDetails")); } else { guiResponseJs.addAction( GuiScreenAction.newHideShowNameToHide("simpleMembershipUpdateGroupDetails")); } } } else if (StringUtils.equals(menuItemId, "multiDelete")) { if (!isOnClick) { if (GrouperUtil.booleanValue(menuCheckboxChecked)) { guiResponseJs.addAction( GuiScreenAction.newHideShowNameToShow("simpleMembershipUpdateDeleteMultiple")); } else { guiResponseJs.addAction( GuiScreenAction.newHideShowNameToHide("simpleMembershipUpdateDeleteMultiple")); } } } else if (StringUtils.equals(menuItemId, "showMemberFilter")) { if (!isOnClick) { if (GrouperUtil.booleanValue(menuCheckboxChecked)) { guiResponseJs.addAction( GuiScreenAction.newHideShowNameToShow("simpleMembershipUpdateMemberFilter")); } else { guiResponseJs.addAction( GuiScreenAction.newHideShowNameToHide("simpleMembershipUpdateMemberFilter")); } } } else if (StringUtils.equals(menuItemId, "exportSubjectIds")) { guiResponseJs.addAction( GuiScreenAction.newAlertFromJsp( "/WEB-INF/grouperUi/templates/simpleMembershipUpdate/simpleMembershipUpdateExportSubjectIds.jsp")); } else if (StringUtils.equals(menuItemId, "exportAll")) { guiResponseJs.addAction( GuiScreenAction.newAlertFromJsp( "/WEB-INF/grouperUi/templates/simpleMembershipUpdate/simpleMembershipUpdateExportAll.jsp")); } else if (StringUtils.equals(menuItemId, "import")) { guiResponseJs.addAction( GuiScreenAction.newDialogFromJsp( "/WEB-INF/grouperUi/templates/simpleMembershipUpdate/simpleMembershipUpdateImport.jsp")); } else { throw new RuntimeException("Unexpected menu id: '" + menuItemId + "'"); } }