List of usage examples for com.liferay.portal.kernel.theme ThemeDisplay getUserId
public long getUserId()
From source file:it.infn.ct.indigo.futuregateway.portlet.action.FGAddInfraMVCActionCommand.java
License:Apache License
@Override protected final void doProcessAction(final ActionRequest actionRequest, final ActionResponse actionResponse) throws Exception { ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY); String redirect = PortalUtil.escapeRedirect(ParamUtil.getString(actionRequest, "redirect")); String name = ParamUtil.getString(actionRequest, "fg-infra-name"); String description = ParamUtil.getString(actionRequest, "fg-infra-description"); boolean enabled = ParamUtil.getBoolean(actionRequest, "fg-infra-enabled"); boolean virtual = ParamUtil.getBoolean(actionRequest, "fg-infra-virtual"); String[] paramNames = ParamUtil.getStringValues(actionRequest, "fg-infra-parameter-name"); String[] paramValues = ParamUtil.getStringValues(actionRequest, "fg-infra-parameter-value"); String[] paramDescriptions = ParamUtil.getStringValues(actionRequest, "fg-infra-parameter-description"); JSONObject jInfra = JSONFactoryUtil.createJSONObject(); jInfra.put("name", name); jInfra.put("description", description); jInfra.put("enabled", enabled); jInfra.put("virtual", virtual); JSONArray jParams = JSONFactoryUtil.createJSONArray(); for (int i = 0; i < paramNames.length; i++) { JSONObject jPar = JSONFactoryUtil.createJSONObject(); jPar.put("name", paramNames[i]); jPar.put("value", paramValues[i]); jPar.put("description", paramDescriptions[i]); jParams.put(jPar);/*www . j a va2s .c om*/ } jInfra.put("parameters", jParams); try { fgServerManager.addResource(themeDisplay.getCompanyId(), FGServerConstants.INFRASTRUCTURE_COLLECTION, jInfra.toJSONString(), themeDisplay.getUserId()); sendRedirect(actionRequest, actionResponse, redirect); } catch (IOException io) { log.error(io.getMessage()); SessionErrors.add(actionRequest, io.getClass(), io); actionResponse.setRenderParameter("mvcPath", "/add_infrastructure.jsp"); } }
From source file:it.infn.ct.indigo.futuregateway.portlet.action.FGEditAppMVCActionCommand.java
License:Apache License
@Override protected final void doProcessAction(final ActionRequest actionRequest, final ActionResponse actionResponse) throws Exception { ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY); String redirect = PortalUtil.escapeRedirect(ParamUtil.getString(actionRequest, "redirect")); String id = ParamUtil.getString(actionRequest, "fg-app-id"); String name = ParamUtil.getString(actionRequest, "fg-app-name"); String description = ParamUtil.getString(actionRequest, "fg-app-description"); boolean enabled = ParamUtil.getBoolean(actionRequest, "fg-app-enabled"); String outcome = ParamUtil.getString(actionRequest, "fg-app-outcome"); String[] paramNames = ParamUtil.getStringValues(actionRequest, "fg-app-parameter-name"); String[] paramValues = ParamUtil.getStringValues(actionRequest, "fg-app-parameter-value"); String[] paramDescriptions = ParamUtil.getStringValues(actionRequest, "fg-app-parameter-description"); String[] infras = ParamUtil.getStringValues(actionRequest, "fg-app-infrastructure"); String[] fileUrls = ParamUtil.getStringValues(actionRequest, "fg-app-file-url"); String[] fileOld = ParamUtil.getStringValues(actionRequest, "fg-app-file-old"); UploadPortletRequest upr = PortalUtil.getUploadPortletRequest(actionRequest); InputStream[] files = upr.getFilesAsStream("fg-app-file-update", true); String[] fileNames = upr.getFileNames("fg-app-file-update"); Map<String, InputStream> fileToTransfer = new HashMap<>(); JSONObject jApp = JSONFactoryUtil.createJSONObject(); if (!id.isEmpty()) { jApp.put("id", id); }/*from w w w .ja v a 2s . c om*/ jApp.put("name", name); jApp.put("description", description); jApp.put("enabled", enabled); jApp.put("outcome", outcome); JSONArray jParams = JSONFactoryUtil.createJSONArray(); for (int i = 0; i < paramNames.length; i++) { if (Validator.isNotNull(paramNames[i])) { JSONObject jPar = JSONFactoryUtil.createJSONObject(); jPar.put("name", paramNames[i]); jPar.put("value", paramValues[i]); if (paramDescriptions.length == paramNames.length) { jPar.put("description", paramDescriptions[i]); } jParams.put(jPar); } } jApp.put("parameters", jParams); JSONArray jInfras = JSONFactoryUtil.createJSONArray(); for (String in : infras) { jInfras.put(in); } jApp.put("infrastructures", jInfras); if (Validator.isNotNull(fileNames)) { JSONArray jFiles = JSONFactoryUtil.createJSONArray(); for (int i = 0; i < fileNames.length; i++) { if (Validator.isNotNull(fileNames[i])) { jFiles.put(fileNames[i]); fileToTransfer.put(fileNames[i], files[i]); } else { if (fileUrls.length == fileNames.length && Validator.isNotNull(fileUrls[i])) { jFiles.put(fileUrls[i]); } else { if (fileOld[i].compareTo("N/A") != 0) { jFiles.put(fileOld[i]); } } } } jApp.put("files", jFiles); } try { String resourceId = fgServerManager.addResource(themeDisplay.getCompanyId(), FGServerConstants.APPLICATION_COLLECTION, id, jApp.toJSONString(), themeDisplay.getUserId()); if (!fileToTransfer.isEmpty()) { fgServerManager.submitFilesResource(themeDisplay.getCompanyId(), FGServerConstants.APPLICATION_COLLECTION, resourceId, fileToTransfer, themeDisplay.getUserId()); } sendRedirect(actionRequest, actionResponse, redirect); } catch (IOException io) { log.error(io.getMessage()); SessionErrors.add(actionRequest, io.getClass(), io); try { Map<String, String> mapInfras = fgServerManager.getInfrastructures(themeDisplay.getCompanyId(), themeDisplay.getUserId()); actionRequest.setAttribute(FGServerConstants.INFRASTRUCTURE_COLLECTION, mapInfras); } catch (Exception e) { if (e instanceof PrincipalException) { SessionErrors.add(actionRequest, e.getClass()); actionResponse.setRenderParameter("mvcPath", "/error.jsp"); } else { throw new PortletException(e); } } actionResponse.setRenderParameter("mvcPath", "/add_application.jsp"); } }
From source file:it.infn.ct.indigo.futuregateway.portlet.action.FGEditAppMVCRenderCommand.java
License:Apache License
@Override public final String render(final RenderRequest renderRequest, final RenderResponse renderResponse) throws PortletException { String appId;//w w w . j av a 2s . c o m ThemeDisplay themeDisplay = (ThemeDisplay) renderRequest.getAttribute(WebKeys.THEME_DISPLAY); try { Map<String, String> infras = fgServerManager.getInfrastructures(themeDisplay.getCompanyId(), themeDisplay.getUserId()); if (infras.isEmpty()) { return "/application-no-infras.jsp"; } renderRequest.setAttribute(FGServerConstants.INFRASTRUCTURE_COLLECTION, infras); } catch (Exception e) { if (e instanceof IOException) { SessionErrors.add(renderRequest, e.getClass()); return "/error.jsp"; } else { throw new PortletException(e); } } appId = ParamUtil.getString(renderRequest, FGServerConstants.VIEW_EDIT_RESOURCE_ID, null); if (appId != null) { try { String application = fgServerManager.getResource(PortalUtil.getCompanyId(renderRequest), FGServerConstants.APPLICATION_COLLECTION, appId, PortalUtil.getUserId(renderRequest)); JSONObject appJ = JSONFactoryUtil.createJSONObject(application); renderRequest.setAttribute("app_id", appJ.getString("id")); renderRequest.setAttribute("app_name", appJ.getString("name")); renderRequest.setAttribute("app_description", appJ.getString("description")); renderRequest.setAttribute("app_enabled", appJ.getBoolean("enabled")); renderRequest.setAttribute("app_outcome", appJ.getString("outcome")); Map<String, String> paramValues = new HashMap<>(); Map<String, String> paramDescs = new HashMap<>(); JSONArray params = appJ.getJSONArray("parameters"); if (params != null) { for (int i = 0; i < params.length(); i++) { JSONObject par = params.getJSONObject(i); paramValues.put(par.getString("name"), par.getString("value")); paramDescs.put(par.getString("name"), par.getString("description")); } } renderRequest.setAttribute("app_parameters_values", paramValues); renderRequest.setAttribute("app_parameters_descriptions", paramDescs); JSONArray files = appJ.getJSONArray("files"); Set<String> fileNames = new HashSet<>(); if (files != null) { for (int i = 0; i < files.length(); i++) { fileNames.add(files.getJSONObject(i).getString("name")); } } renderRequest.setAttribute("app_file_names", fileNames); JSONArray infras = appJ.getJSONArray("infrastructures"); Set<String> infraIds = new HashSet<>(); if (infras != null) { for (int i = 0; i < infras.length(); i++) { infraIds.add(infras.getString(i)); } } renderRequest.setAttribute("app_infras", infraIds); } catch (Exception ex) { log.error(ex.getMessage()); SessionErrors.add(renderRequest, FGServerManager.class); } } return "/add_application.jsp"; }
From source file:it.infn.ct.indigo.futuregateway.portlet.action.FGEditInfraMVCActionCommand.java
License:Apache License
@Override protected final void doProcessAction(final ActionRequest actionRequest, final ActionResponse actionResponse) throws Exception { ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY); String redirect = PortalUtil.escapeRedirect(ParamUtil.getString(actionRequest, "redirect")); String id = ParamUtil.getString(actionRequest, "fg-infra-id"); String name = ParamUtil.getString(actionRequest, "fg-infra-name"); String description = ParamUtil.getString(actionRequest, "fg-infra-description"); boolean enabled = ParamUtil.getBoolean(actionRequest, "fg-infra-enabled"); boolean virtual = ParamUtil.getBoolean(actionRequest, "fg-infra-virtual"); String[] paramNames = ParamUtil.getStringValues(actionRequest, "fg-infra-parameter-name"); String[] paramValues = ParamUtil.getStringValues(actionRequest, "fg-infra-parameter-value"); String[] paramDescriptions = ParamUtil.getStringValues(actionRequest, "fg-infra-parameter-description"); JSONObject jInfra = JSONFactoryUtil.createJSONObject(); if (!id.isEmpty()) { jInfra.put("id", id); }/*from w ww. ja v a2 s.c o m*/ jInfra.put("name", name); jInfra.put("description", description); jInfra.put("enabled", enabled); jInfra.put("virtual", virtual); JSONArray jParams = JSONFactoryUtil.createJSONArray(); for (int i = 0; i < paramNames.length; i++) { JSONObject jPar = JSONFactoryUtil.createJSONObject(); jPar.put("name", paramNames[i]); jPar.put("value", paramValues[i]); if (paramDescriptions.length == paramNames.length) { jPar.put("description", paramDescriptions[i]); } jParams.put(jPar); } jInfra.put("parameters", jParams); try { fgServerManager.addResource(themeDisplay.getCompanyId(), FGServerConstants.INFRASTRUCTURE_COLLECTION, id, jInfra.toJSONString(), themeDisplay.getUserId()); sendRedirect(actionRequest, actionResponse, redirect); } catch (IOException io) { log.error(io.getMessage()); SessionErrors.add(actionRequest, io.getClass(), io); actionResponse.setRenderParameter("mvcPath", "/add_infrastructure.jsp"); } }
From source file:se.vgregion.portal.innovationsslussen.createidea.controller.CreateIdeaViewController.java
License:Open Source License
/** * The default render method./*from w w w .j a va2 s . co m*/ * * @param request the request * @param response the response * @param model the model * @param idea the idea * @param result the binding results * @return the view */ @RenderMapping() public String createIdea(RenderRequest request, RenderResponse response, final ModelMap model, @ModelAttribute Idea idea, BindingResult result) { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); long scopeGroupId = themeDisplay.getScopeGroupId(); long userId = themeDisplay.getUserId(); boolean isSignedIn = themeDisplay.isSignedIn(); if (model.get("errors") == null) { // No idea exists idea = IdeaPortletUtil.getIdeaFromRequest(request); // Set dummy data for person if (idea.getIdeaPerson().getName().equals("")) { String screenName = ""; String otherUserVgrId = (String) model.get("otherUserVgrId"); if (otherUserVgrId != null) { if (!otherUserVgrId.equals("")) { screenName = otherUserVgrId; } } else { screenName = themeDisplay.getUser().getScreenName(); } IdeaPerson ideaPerson = idea.getIdeaPerson(); AdPerson adCriteria = new AdPerson(); adCriteria.setCn(screenName); List<AdPerson> findings = ldapService.find(adCriteria); if (findings.size() == 1) { AdPerson person = findings.get(0); ideaPerson.setEmail(person.getMail()); ideaPerson.setJobPosition(person.getTitle()); ideaPerson.setName(person.getDisplayName()); ideaPerson.setAdministrativeUnit(person.getDivision()); ideaPerson.setPhoneMobile(person.getMobile()); ideaPerson.setPhone(person.getTelephoneNumber()); ideaPerson.setVgrId(person.getCn()); ideaPerson.setName(person.getDisplayName()); model.addAttribute("otherUserVgrId", idea.getIdeaPerson().getVgrId()); } populateValuesFromKiv(screenName, ideaPerson); } } else { // Copy binding error from save action result.addAllErrors((BindingResult) model.get("errors")); if (idea.getIdeaPerson() != null) { String vgrId = idea.getIdeaPerson().getVgrId(); if (vgrId != null && !vgrId.isEmpty()) { model.addAttribute("otherUserVgrId", vgrId); } } } IdeaPermissionChecker ideaPermissionChecker = ideaPermissionCheckerService .getIdeaPermissionChecker(scopeGroupId, userId, idea); model.addAttribute("isSignedIn", isSignedIn); model.addAttribute("idea", idea); model.addAttribute("ideaClass", Idea.class); model.addAttribute("ideaPermissionChecker", ideaPermissionChecker); return "view"; }
From source file:se.vgregion.portal.innovationsslussen.createidea.controller.CreateIdeaViewController.java
License:Open Source License
/** * Method handling Action request./*from ww w . j a va 2s . c om*/ * * @param request the request * @param response the response * @param model the model * @param idea the idea * @param result the binding results */ @ActionMapping("submitIdea") public final void submitIdea(ActionRequest request, ActionResponse response, final ModelMap model, @ModelAttribute Idea idea, BindingResult result) { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); // todo auktoriseringskontroll? LOGGER.info("submitIdea"); idea = IdeaPortletUtil.getIdeaFromRequest(request); idea.setCreated(new Date()); idea.setHidden(false); ideaValidator.validate(idea, result); if (!result.hasErrors()) { try { String schemeServerNamePort = generateSchemeServerNamePort(request); //Populate with extra information about the user (from the ldap if at all). AdPerson criteria = new AdPerson(); String otherUserVgrId = ""; IdeaPermissionChecker ideaPermissionChecker = ideaPermissionCheckerService .getIdeaPermissionChecker(themeDisplay.getScopeGroupId(), themeDisplay.getUserId(), idea); if (ideaPermissionChecker.isHasPermissionCreateIdeaForOtherUser()) { otherUserVgrId = idea.getIdeaPerson().getVgrId(); } if (otherUserVgrId != null && !otherUserVgrId.isEmpty()) { criteria.setCn(otherUserVgrId); idea.setOriginalUserId(themeDisplay.getUserId()); } else { criteria.setCn(themeDisplay.getUser().getScreenName()); } List<AdPerson> findings = ldapService.find(criteria); if (findings.size() == 1) { AdPerson person = findings.get(0); IdeaPerson ip = idea.getIdeaPerson(); ip.setName(person.getDisplayName()); ip.setVgrId(person.getCn()); ip.setAdministrativeUnit(person.getDivision()); //ip.setBirthYear(person.getBirthYear()); ip.setVgrStrukturPerson(person.getFormattedVgrStrukturPerson()); //ip.setPhoneMobile(person.getMobile()); //ip.setPhone(person.getTelephoneNumber()); ip.setVgrId(person.getCn()); ip.setName(person.getDisplayName()); } populateValuesFromKiv(idea.getIdeaPerson().getVgrId(), idea.getIdeaPerson()); idea = ideaService.addIdea(idea, schemeServerNamePort); response.setRenderParameter("ideaLink", idea.getUrlTitle()); response.setRenderParameter("view", "confirmation"); } catch (CreateIdeaException e) { // Add error - create failed result.addError(new ObjectError("", "Hoppsan nu gick ngot fel, vi fr inte kontakt med ett " + "bakomliggande system. Var god frsk igen senare.")); model.addAttribute("errors", result); copyRequestParameters(request, response); response.setRenderParameter("view", "view"); e.printStackTrace(); } catch (SystemException e) { result.addError( new ObjectError("", "Hoppsan nu gick ngot fel, anvndaren som du frsker skapa " + "idn fr finns inte eller gr inte att skapa.")); e.printStackTrace(); } catch (RuntimeException e) { SQLException nextException = Util.getNextExceptionFromLastCause(e); if (nextException != null) { LOGGER.error(nextException.getMessage(), nextException); } result.addError(new ObjectError("", "Hoppsan nu gick ngot fel, vi fr inte kontakt med ett " + "bakomliggande system. Var god frsk igen senare.")); model.addAttribute("errors", result); copyRequestParameters(request, response); response.setRenderParameter("view", "view"); e.printStackTrace(); } catch (PortalException e) { result.addError( new ObjectError("", "Hoppsan nu gick ngot fel, anvndaren som du frsker skapa " + "idn fr finns inte eller gr inte att skapa.")); e.printStackTrace(); } } else { model.addAttribute("otherUserVgrId", idea.getIdeaPerson().getVgrId()); model.addAttribute("errors", result); model.addAttribute("idea", idea); //copyRequestParameters(request, response); response.setRenderParameter("view", "view"); } }
From source file:se.vgregion.portal.innovationsslussen.idea.controller.IdeaViewController.java
License:Open Source License
/** * The default render method.//from ww w .j av a 2s . co m * * @param request the request * @param response the response * @param model the model * @return the view */ @RenderMapping() public String showIdea(RenderRequest request, RenderResponse response, final ModelMap model) throws PortalException, SystemException { ThemeDisplay themeDisplay = getThemeDisplay(request); String ideaType = ParamUtil.getString(request, "type", "public"); String returnView = "view_public"; //If a user trying to accsess the private part of an idea when not sign in. if (ideaType.equals("private") && !themeDisplay.isSignedIn()) { returnView = "idea_not_sign_in"; } else { long scopeGroupId = themeDisplay.getScopeGroupId(); long companyId = themeDisplay.getCompanyId(); long userId = themeDisplay.getUserId(); boolean isSignedIn = themeDisplay.isSignedIn(); String urlTitle = ParamUtil.getString(request, "urlTitle", ""); Layout ideaLayout = getFriendlyURLLayout(scopeGroupId, themeDisplay.getLayout().isPrivateLayout()); long ideaPlid = ideaLayout.getPlid(); model.addAttribute("ideaPlid", ideaPlid); int maxCommentCountDisplay = ParamUtil.getInteger(request, "maxCommentCountDisplay", defaultCommentCount); boolean moreComments = ParamUtil.getString(request, "moreComments") != null; if (moreComments) { maxCommentCountDisplay += defaultCommentCount; } if (!urlTitle.equals("")) { Idea idea = ideaService.findIdeaByUrlTitle(urlTitle); if (idea != null) { boolean isIdeaUserLiked = ideaService.getIsIdeaUserLiked(companyId, scopeGroupId, userId, urlTitle); boolean isIdeaUserFavorite = ideaService.getIsIdeaUserFavorite(companyId, scopeGroupId, userId, urlTitle); List<CommentItemVO> commentsList = null; if (ideaType.equals("private")) { commentsList = ideaService.getPrivateComments(idea); } else { commentsList = ideaService.getPublicComments(idea); } if (idea.getIdeaContentPrivate() != null) { String ideTansportor = idea.getIdeaContentPrivate().getIdeTansportor(); if (ideTansportor != null && !ideTansportor.isEmpty()) { model.addAttribute("tansportor", ideTansportor); } } IdeaPermissionChecker ideaPermissionChecker = ideaPermissionCheckerService .getIdeaPermissionChecker(scopeGroupId, userId, idea); model.addAttribute("commentCount", commentsList.size()); commentsList = commentsList.subList(0, Math.min(maxCommentCountDisplay, commentsList.size())); idea = IdeaPortletUtil.replaceBreaklines(idea); model.addAttribute("idea", idea); model.addAttribute("commentsList", commentsList); model.addAttribute("commentsDelta", 1); model.addAttribute("isIdeaUserFavorite", isIdeaUserFavorite); model.addAttribute("isIdeaUserLiked", isIdeaUserLiked); model.addAttribute("urlTitle", urlTitle); model.addAttribute("userId", userId); model.addAttribute("isSignedIn", isSignedIn); model.addAttribute("ideaPermissionChecker", ideaPermissionChecker); model.addAttribute("ideaType", ideaType); model.addAttribute("maxCommentCountDisplay", maxCommentCountDisplay); model.addAttribute("defaultCommentCount", defaultCommentCount); model.addAttribute("ideaPortletName", IdeaPortletsConstants.PORTLET_NAME_IDEA_PORTLET); model.addAttribute("bariumUrl", bariumUrl); if (ideaType.equals("private") && (ideaPermissionChecker.getHasPermissionViewIdeaPrivate() || idea.getUserId() == userId)) { returnView = "view_private"; } // If a user trying to access the public or private part of an idea that still is private. // The user dose not have premmisions and is not the creator of the idea. // Showing 404 view. if (!idea.isPublic() && !(ideaPermissionChecker.getHasPermissionViewIdeaPrivate() || idea.getUserId() == userId)) { HttpServletResponse httpServletResponse = PortalUtil.getHttpServletResponse(response); httpServletResponse.setStatus(HttpServletResponse.SC_NOT_FOUND); returnView = "idea_404"; } } else { HttpServletResponse httpServletResponse = getHttpServletResponse(response); httpServletResponse.setStatus(HttpServletResponse.SC_NOT_FOUND); returnView = "idea_404"; } } } return returnView; }
From source file:se.vgregion.portal.innovationsslussen.idea.controller.IdeaViewController.java
License:Open Source License
/** * Method handling Action request./*from w ww . jav a 2 s . c om*/ * * @param request the request * @param response the response * @param model the model */ @ActionMapping(params = "action=addComment") public final void addComment(ActionRequest request, ActionResponse response, final ModelMap model) { ThemeDisplay themeDisplay = getThemeDisplay(request); String urlTitle = ParamUtil.getString(request, "urlTitle", ""); Idea idea = ideaService.findIdeaByUrlTitle(urlTitle); long userId = themeDisplay.getUserId(); long groupId = themeDisplay.getScopeGroupId(); IdeaContentType ideaContentType = IdeaContentType.valueOf(ParamUtil.getString(request, "ideaContentType")); String comment = ParamUtil.getString(request, "comment", ""); if (!isAllowedToDoAction(request, idea, Action.ADD_COMMENT, ideaContentType)) { LOGGER.error("User is denied to add comment. idea.getId(): " + idea.getId() + ", idea.getUserId(): " + idea.getUserId() + ", idea.getTitle(): " + idea.getTitle()); sendRedirectToContextRoot(response); return; } if (!comment.equals("")) { try { ServiceContext serviceContext = ServiceContextFactory.getInstance(Idea.class.getName(), request); //Add a mbMessage if (ideaContentType == IdeaContentType.IDEA_CONTENT_TYPE_PUBLIC) { ideaService.addMBMessage(idea, serviceContext, groupId, userId, comment, idea.getIdeaContentPublic().getId()); //Send email notification. ideaService.sendEmailNotification(idea, true); } else if (ideaContentType == IdeaContentType.IDEA_CONTENT_TYPE_PRIVATE) { ideaService.addMBMessage(idea, serviceContext, groupId, userId, comment, idea.getIdeaContentPrivate().getId()); Integer commentsCount = idea.getCommentsCount(); commentsCount = commentsCount != null ? commentsCount : ideaService.getPrivateCommentsCount(idea); idea.setCommentsCount(commentsCount + 1); idea.setLastPrivateCommentDate(new Date()); idea = ideaService.save(idea); //Send email notification. ideaService.sendEmailNotification(idea, false); } } catch (PortalException e) { LOGGER.error(e.getMessage(), e); } catch (SystemException e) { LOGGER.error(e.getMessage(), e); } } if (ideaContentType == IdeaContentType.IDEA_CONTENT_TYPE_PRIVATE) { response.setRenderParameter("type", "private"); } response.setRenderParameter("urlTitle", urlTitle); }
From source file:se.vgregion.portal.innovationsslussen.idea.controller.IdeaViewController.java
License:Open Source License
private boolean isAllowedToDoAction(PortletRequest request, Idea idea, Action action, IdeaContentType ideaContentType) { // Initialize variables ThemeDisplay themeDisplay = getThemeDisplay(request); long userId = themeDisplay.getUserId(); long groupId = themeDisplay.getScopeGroupId(); IdeaPermissionChecker ideaPermissionChecker = ideaPermissionCheckerService.getIdeaPermissionChecker(groupId, userId, idea);//from www.ja v a 2s . co m // Then check for necessary permissions. boolean publicAndPublicPermission; boolean privateAndPrivatePermission; boolean isSignedIn; boolean publicPart; if (ideaContentType.equals(IdeaContentType.IDEA_CONTENT_TYPE_PUBLIC)) { publicPart = true; } else if (ideaContentType.equals(IdeaContentType.IDEA_CONTENT_TYPE_PRIVATE)) { publicPart = false; } else { throw new IllegalArgumentException("Unexpected IdeaContentType."); } switch (action) { case ADD_COMMENT: isSignedIn = themeDisplay.isSignedIn(); if (!isSignedIn) { return false; } if (idea.getUserId() == userId) { return true; } publicAndPublicPermission = publicPart && ideaPermissionChecker.getHasPermissionAddCommentPublic(); privateAndPrivatePermission = !publicPart && ideaPermissionChecker.getHasPermissionAddCommentPrivate(); break; case UPLOAD_FILE: isSignedIn = themeDisplay.isSignedIn(); if (!isSignedIn) { return false; } publicAndPublicPermission = publicPart && ideaPermissionChecker.getHasPermissionAddCommentPublic(); privateAndPrivatePermission = !publicPart && ideaPermissionChecker.getHasPermissionAddCommentPrivate(); break; case VIEW_IDEA: publicAndPublicPermission = publicPart && ideaPermissionChecker.getHasPermissionViewIdeaPublic(); privateAndPrivatePermission = !publicPart && ideaPermissionChecker.getHasPermissionViewIdeaPrivate(); break; default: throw new IllegalArgumentException("Unexpected action: " + action); } boolean necessaryPermissions = publicAndPublicPermission || privateAndPrivatePermission; return necessaryPermissions; }
From source file:se.vgregion.portal.innovationsslussen.idea.controller.IdeaViewController.java
License:Open Source License
/** * Method handling Action request.// w w w . jav a 2 s . c o m * * @param request the request * @param response the response * @param model the model */ @ActionMapping(params = "action=addFavorite") public final void addFavorite(ActionRequest request, ActionResponse response, final ModelMap model) { LOGGER.info("addFavorite"); ThemeDisplay themeDisplay = getThemeDisplay(request); long companyId = themeDisplay.getCompanyId(); long groupId = themeDisplay.getScopeGroupId(); long userId = themeDisplay.getUserId(); IdeaContentType ideaContentType = IdeaContentType.valueOf(ParamUtil.getString(request, "ideaContentType")); String urlTitle = ParamUtil.getString(request, "urlTitle", ""); if (themeDisplay.isSignedIn()) { ideaService.addFavorite(companyId, groupId, userId, urlTitle); } if (ideaContentType == IdeaContentType.IDEA_CONTENT_TYPE_PRIVATE) { response.setRenderParameter("type", "private"); } response.setRenderParameter("urlTitle", urlTitle); }