List of usage examples for com.liferay.portal.kernel.theme ThemeDisplay getUserId
public long getUserId()
From source file:se.vgregion.portal.innovationsslussen.idea.controller.IdeaViewController.java
License:Open Source License
/** * Method handling Action request.//www. ja v a 2 s . com * * @param request the request * @param response the response * @param model the model */ @ActionMapping(params = "action=addLike") public final void addLike(ActionRequest request, ActionResponse response, final ModelMap model) { LOGGER.info("addLike"); 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.addLike(companyId, groupId, userId, urlTitle); } 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
/** * Method handling Action request.//from w w w . ja va 2 s .c o m * * @param request the request * @param response the response * @param model the model */ @ActionMapping(params = "action=removeFavorite") public final void removeFavorite(ActionRequest request, ActionResponse response, final ModelMap model) { LOGGER.info("removeFavorite"); 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.removeFavorite(companyId, groupId, userId, urlTitle); } 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
/** * Method handling Action request.//from www .j a v a 2 s .c om * * @param request the request * @param response the response * @param model the model */ @ActionMapping(params = "action=removeLike") public final void removeLike(ActionRequest request, ActionResponse response, final ModelMap model) { LOGGER.info("removeLike"); 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.removeLike(companyId, groupId, userId, urlTitle); } 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
/** * Upload file action.// w ww. j av a 2 s . c o m * * @param request the request * @param response the response * @param model the model * @throws FileUploadException the file upload exception */ @ActionMapping(params = "action=uploadFile") public void uploadFile(ActionRequest request, ActionResponse response, Model model) throws FileUploadException, SystemException, PortalException { ThemeDisplay themeDisplay = getThemeDisplay(request); long scopeGroupId = themeDisplay.getScopeGroupId(); long userId = themeDisplay.getUserId(); String urlTitle = request.getParameter("urlTitle"); String fileType = request.getParameter("fileType"); boolean publicIdea; if (fileType.equals("public")) { publicIdea = true; } else if (fileType.equals("private")) { publicIdea = false; } else { throw new IllegalArgumentException("Unknown filetype: " + fileType); } //TODO ondig slagning? Cacha? Idea idea = ideaService.findIdeaByUrlTitle(urlTitle); //TODO Kan det inte finnas flera med samma titel i olika communities? IdeaContentType ideaContentType = publicIdea ? IdeaContentType.IDEA_CONTENT_TYPE_PUBLIC : IdeaContentType.IDEA_CONTENT_TYPE_PRIVATE; if (!isAllowedToDoAction(request, idea, Action.UPLOAD_FILE, ideaContentType)) { sendRedirectToContextRoot(response); return; } boolean mayUploadFile = idea.getUserId() == userId; IdeaPermissionChecker ideaPermissionChecker = ideaPermissionCheckerService .getIdeaPermissionChecker(scopeGroupId, userId, idea); if (!mayUploadFile) { if (publicIdea) { mayUploadFile = ideaPermissionChecker.isHasPermissionAddDocumentPublic(); } else { mayUploadFile = ideaPermissionChecker.isHasPermissionAddDocumentPrivate(); } } if (mayUploadFile) { response.setRenderParameter("urlTitle", urlTitle); PortletFileUpload p = new PortletFileUpload(); try { FileItemIterator itemIterator = p.getItemIterator(request); while (itemIterator.hasNext()) { FileItemStream fileItemStream = itemIterator.next(); if (fileItemStream.getFieldName().equals("file")) { InputStream is = fileItemStream.openStream(); BufferedInputStream bis = new BufferedInputStream(is); String fileName = fileItemStream.getName(); String contentType = fileItemStream.getContentType(); ideaService.uploadFile(idea, publicIdea, fileName, contentType, bis); } } } catch (FileUploadException e) { doExceptionStuff(e, response, model); return; } catch (IOException e) { doExceptionStuff(e, response, model); return; } catch (se.vgregion.service.innovationsslussen.exception.FileUploadException e) { doExceptionStuff(e, response, model); return; } catch (RuntimeException e) { Throwable lastCause = Util.getLastCause(e); if (lastCause instanceof SQLException) { SQLException nextException = ((SQLException) lastCause).getNextException(); if (nextException != null) { LOGGER.error(nextException.getMessage(), nextException); } } } finally { response.setRenderParameter("ideaType", fileType); } } else { throw new FileUploadException("The user is not authorized to upload to this idea instance."); } response.setRenderParameter("urlTitle", urlTitle); response.setRenderParameter("type", fileType); response.setRenderParameter("showView", "showIdea"); }
From source file:se.vgregion.portal.innovationsslussen.idea.controller.IdeaViewControllerTest.java
License:Open Source License
@Before public void setUp() { ideaService = Mockito.mock(IdeaService.class); ideaPermissionCheckerService = Mockito.mock(IdeaPermissionCheckerService.class); ideaSettingsService = Mockito.mock(IdeaSettingsService.class); controller = new IdeaViewController(ideaService, ideaPermissionCheckerService, ideaSettingsService) { @Override/*w w w . java 2s . c o m*/ protected HttpServletResponse getHttpServletResponse(RenderResponse response) { return Mockito.mock(HttpServletResponse.class); } @Override protected Layout getFriendlyURLLayout(long scopeGroupId, boolean priv) throws SystemException, PortalException { return Mockito.mock(Layout.class); } }; request = Mockito.mock(RenderRequest.class); response = Mockito.mock(RenderResponse.class); actionRequest = Mockito.mock(ActionRequest.class); actionResponse = Mockito.mock(ActionResponse.class); modelMap = Mockito.mock(ModelMap.class); ThemeDisplay themeDisplay = Mockito.mock(ThemeDisplay.class); Mockito.when(request.getAttribute(WebKeys.THEME_DISPLAY)).thenReturn(themeDisplay); Mockito.when(actionRequest.getAttribute(WebKeys.THEME_DISPLAY)).thenReturn(themeDisplay); Mockito.when(themeDisplay.getScopeGroupId()).thenReturn(1l); User user = Mockito.mock(User.class); Mockito.when(themeDisplay.getUser()).thenReturn(user); Mockito.when(themeDisplay.getUserId()).thenReturn(1l); Layout layout = Mockito.mock(Layout.class); Mockito.when(layout.isPrivateLayout()).thenReturn(true); Mockito.when(themeDisplay.getLayout()).thenReturn(layout); }
From source file:se.vgregion.portal.innovationsslussen.idealist.controller.IdeaListViewController.java
License:Open Source License
/** * The default render method.// w w w . j a v a 2s . c om * * @param request the request * @param response the response * @param model the model * @return the view */ @RenderMapping() public String showIdeaList(RenderRequest request, RenderResponse response, final ModelMap model) { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); long scopeGroupId = themeDisplay.getScopeGroupId(); long companyId = themeDisplay.getCompanyId(); long userId = themeDisplay.getUserId(); boolean isSignedIn = themeDisplay.isSignedIn(); String returnView = "view_open_ideas"; try { PortletPreferences prefs = request.getPreferences(); String ideaListType = prefs.getValue("ideaListType", "0"); int entryCount = Integer.valueOf(prefs.getValue("entryCount", "6")); Layout ideaLayout = getFriendlyURLLayout(scopeGroupId, themeDisplay.getLayout().isPrivateLayout()); long ideaPlid = ideaLayout.getPlid(); List<Idea> ideasFromService = new ArrayList<Idea>(); List<Idea> ideaList = new ArrayList<Idea>(); int currentPage = ParamUtil.getInteger(request, "pageNumber", PageIteratorConstants.PAGINATOR_START_DEFAULT); int ideaPhase = ParamUtil.getInteger(request, "ideaPhase", 0); int ideaVisible = ParamUtil.getInteger(request, "ideaVisible", 1); int ideaSort = ParamUtil.getInteger(request, "ideaSort", 0); String transporter = ParamUtil.getString(request, "transporter", "0"); int maxPages = PageIteratorConstants.MAX_PAGES_DEFAULT; long totalCount = 0; int start = (currentPage - 1) * entryCount; if (ideaListType.equals(IdeaPortletsConstants.IDEA_LIST_PORTLET_VIEW_OPEN_IDEAS)) { Map<String, Object> map = searchService.getPublicVisibleIdeas(companyId, scopeGroupId, start, entryCount, ideaSort, ideaPhase); ideasFromService = (List<Idea>) map.get("ideas"); totalCount = (Long) map.get("totalIdeasCount"); } else if (ideaListType.equals(IdeaPortletsConstants.IDEA_LIST_PORTLET_VIEW_USER_IDEAS)) { if (isSignedIn) { ideasFromService = ideaService.findIdeasByGroupIdAndUserId(companyId, scopeGroupId, userId, start, entryCount); totalCount = ideaService.findIdeasCountByGroupIdAndUserId(companyId, scopeGroupId, userId); } returnView = "view_user_ideas"; } else if (ideaListType.equals(IdeaPortletsConstants.IDEA_LIST_PORTLET_VIEW_USER_FAVORITED_IDEAS)) { if (isSignedIn) { ideasFromService = ideaService.findVisibleUserFavoritedIdeas(companyId, scopeGroupId, userId, start, entryCount); totalCount = ideaService.findVisibleUserFavoritedIdeasCount(companyId, scopeGroupId, userId); } returnView = "view_user_favorites"; } else if (ideaListType.equals(IdeaPortletsConstants.IDEA_LIST_PORTLET_VIEW_CLOSED_IDEAS)) { if (isSignedIn) { ideasFromService = ideaService.findVisibleIdeasByGroupId(companyId, scopeGroupId, IdeaStatus.PRIVATE_IDEA, start, entryCount); totalCount = ideaService.findVisibleIdeaCountByGroupId(companyId, scopeGroupId, IdeaStatus.PRIVATE_IDEA); } returnView = "view_closed_ideas"; } else if (ideaListType .equals(IdeaPortletsConstants.IDEA_LIST_PORTLET_VIEW_IDEAS_FOR_IDEATRANSPORTER)) { Map<String, Object> map = searchService.getVisibleIdeasForIdeaTransporters(companyId, scopeGroupId, start, entryCount, ideaSort, ideaPhase, ideaVisible, transporter); ideasFromService = (List<Idea>) map.get("ideas"); totalCount = (Long) map.get("totalIdeasCount"); // Collect all Idea transporters setIdeaTransporters(model, scopeGroupId, companyId, entryCount, start, ideaVisible); returnView = "view_transporter_ideas"; } for (Idea idea : ideasFromService) { /*int commentsCount = 0; if (idea.isPublic()) { commentsCount = ideaService.getPublicCommentsCount(idea); } else { commentsCount = ideaService.getPrivateCommentsCount(idea); } idea.setCommentsCount(commentsCount);*/ ideaList.add(idea); } PageIterator pageIterator = new PageIterator(totalCount, currentPage, entryCount, maxPages); model.addAttribute("ideaPlid", ideaPlid); model.addAttribute("ideaPortletName", IdeaPortletsConstants.PORTLET_NAME_IDEA_PORTLET); model.addAttribute("ideaList", ideaList); model.addAttribute("ideaListType", ideaListType); model.addAttribute("ideaPhase", ideaPhase); model.addAttribute("ideaSort", ideaSort); model.addAttribute("ideaVisible", ideaVisible); model.addAttribute("transporter", transporter); model.addAttribute("isSignedIn", isSignedIn); model.addAttribute("pageIterator", pageIterator); } catch (PortalException e) { e.printStackTrace(); } catch (SystemException e) { e.printStackTrace(); } return returnView; }
From source file:se.vgregion.portal.innovationsslussen.util.IdeaPortletUtil.java
License:Open Source License
/** * Gets the idea from request./*w w w . j ava2s. c om*/ * * @param request the request * @return the idea from request */ public static Idea getIdeaFromRequest(PortletRequest request) { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); long companyId = themeDisplay.getCompanyId(); long groupId = themeDisplay.getScopeGroupId(); long userId = themeDisplay.getUserId(); String title = ParamUtil.getString(request, "title", ""); String description = ParamUtil.getString(request, "ideaContentPrivate.description", ""); String solvesProblem = ParamUtil.getString(request, "ideaContentPrivate.solvesProblem", ""); String wantsHelpWith = ParamUtil.getString(request, "ideaContentPrivate.wantsHelpWith", ""); String name = ParamUtil.getString(request, "ideaPerson.name", ""); String email = ParamUtil.getString(request, "ideaPerson.email", ""); String phone = ParamUtil.getString(request, "ideaPerson.phone", ""); String phoneMobile = ParamUtil.getString(request, "ideaPerson.phoneMobile", ""); String administrativeUnit = ParamUtil.getString(request, "administrativeUnit", ""); String jobPosition = ParamUtil.getString(request, "ideaPerson.jobPosition", ""); String gender = ParamUtil.getString(request, "ideaPerson.gender"); String vgrId = ParamUtil.getString(request, "ideaPerson.vgrId"); Idea idea = new Idea(companyId, groupId, userId); IdeaContent ideaContentPublic = new IdeaContent(companyId, groupId, userId); IdeaContent ideaContentPrivate = new IdeaContent(companyId, groupId, userId); IdeaPerson ideaPerson = new IdeaPerson(companyId, groupId, userId); ideaContentPublic.setType(IdeaContentType.IDEA_CONTENT_TYPE_PUBLIC); ideaContentPrivate.setType(IdeaContentType.IDEA_CONTENT_TYPE_PRIVATE); ideaContentPrivate.setDescription(description); ideaContentPrivate.setSolvesProblem(solvesProblem); ideaContentPrivate.setWantsHelpWith(wantsHelpWith); ideaPerson.setName(name); ideaPerson.setEmail(email); ideaPerson.setPhone(phone); ideaPerson.setPhoneMobile(phoneMobile); ideaPerson.setJobPosition(jobPosition); ideaPerson.setVgrId(vgrId); ideaPerson.setAdministrativeUnit(administrativeUnit); ideaPerson.setGender((gender == null || "".equals(gender) ? IdeaPerson.Gender.UNKNOWN : IdeaPerson.Gender.valueOf(gender))); idea.setTitle(title); idea.addIdeaContent(ideaContentPublic); idea.addIdeaContent(ideaContentPrivate); idea.addIdeaPerson(ideaPerson); return idea; }
From source file:se.vgregion.portal.innovationsslussen.util.IdeaPortletUtilTest.java
License:Open Source License
@Before public void setUp() { ThemeDisplay themeDisplay = Mockito.mock(ThemeDisplay.class); request = Mockito.mock(RenderRequest.class); Mockito.when(request.getAttribute(WebKeys.THEME_DISPLAY)).thenReturn(themeDisplay); Mockito.when(themeDisplay.getScopeGroupId()).thenReturn(1l); Mockito.when(themeDisplay.getCompanyId()).thenReturn(2l); Mockito.when(themeDisplay.getUserId()).thenReturn(3l); PropsUtil.setProps(new Props() { @Override//from w ww.j a v a 2 s.c o m public boolean contains(String key) { return false; } @Override public String get(String key) { return key; } @Override public String get(String key, Filter filter) { return key; } @Override public String[] getArray(String key) { return new String[0]; } @Override public String[] getArray(String key, Filter filter) { return new String[0]; } @Override public Properties getProperties() { return new Properties(); } @Override public Properties getProperties(String prefix, boolean removePrefix) { return new Properties(); } }); }