Example usage for com.liferay.portal.kernel.theme ThemeDisplay getUserId

List of usage examples for com.liferay.portal.kernel.theme ThemeDisplay getUserId

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.theme ThemeDisplay getUserId.

Prototype

public long getUserId() 

Source Link

Document

Returns the ID of the user for which the current request is being handled.

Usage

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();
        }
    });
}