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

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

Introduction

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

Prototype

public long getScopeGroupId() 

Source Link

Document

Returns the ID of the scoped or sub-scoped active group (e.g.

Usage

From source file:com.liferay.wiki.web.internal.portlet.configuration.icon.DeletePagePortletConfigurationIcon.java

License:Open Source License

@Override
public String getURL(PortletRequest portletRequest, PortletResponse portletResponse) {

    ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY);

    try {//from w  ww. j av a  2  s  .c om
        WikiPage page = ActionUtil.getPage(portletRequest);

        PortletURL portletURL = PortalUtil.getControlPanelPortletURL(portletRequest, WikiPortletKeys.WIKI_ADMIN,
                PortletRequest.ACTION_PHASE);

        portletURL.setParameter(ActionRequest.ACTION_NAME, "/wiki/edit_page");
        portletURL.setParameter(Constants.CMD, Constants.DELETE);

        if (!page.isDraft() && isTrashEnabled(themeDisplay.getScopeGroupId())) {

            portletURL.setParameter(Constants.CMD, Constants.MOVE_TO_TRASH);
        } else {
            portletURL.setParameter("version", String.valueOf(page.getVersion()));
        }

        PortletURL redirectURL = PortalUtil.getControlPanelPortletURL(portletRequest,
                WikiPortletKeys.WIKI_ADMIN, PortletRequest.ACTION_PHASE);

        redirectURL.setParameter("mvcRenderCommandName", "/wiki/view_pages");
        redirectURL.setParameter("navigation", "all-pages");
        redirectURL.setParameter("nodeId", String.valueOf(page.getNodeId()));

        portletURL.setParameter("redirect", redirectURL.toString());

        portletURL.setParameter("nodeId", String.valueOf(page.getNodeId()));
        portletURL.setParameter("title", page.getTitle());

        return portletURL.toString();
    } catch (Exception e) {
    }

    return StringPool.BLANK;
}

From source file:com.liferay.wiki.web.internal.portlet.configuration.icon.PermissionsPortletConfigurationIcon.java

License:Open Source License

@Override
public String getURL(PortletRequest portletRequest, PortletResponse portletResponse) {

    String url = StringPool.BLANK;

    ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY);

    try {/*from  w  w  w.java  2s .  c  o  m*/
        url = PermissionsURLTag.doTag(StringPool.BLANK, "com.liferay.wiki", themeDisplay.getScopeGroupName(),
                null, String.valueOf(themeDisplay.getScopeGroupId()), LiferayWindowState.POP_UP.toString(),
                null, themeDisplay.getRequest());
    } catch (Exception e) {
    }

    return url;
}

From source file:com.liferay.wiki.web.internal.portlet.configuration.icon.PermissionsPortletConfigurationIcon.java

License:Open Source License

@Override
public boolean isShow(PortletRequest portletRequest) {
    ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY);

    User user = themeDisplay.getUser();/*  www .  j a  va2 s. c o  m*/

    if (user.isDefaultUser()) {
        return false;
    }

    PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

    try {
        if (!WikiResourcePermissionChecker.contains(permissionChecker, themeDisplay.getScopeGroupId(),
                ActionKeys.PERMISSIONS)) {

            return false;
        }
    } catch (Exception e) {
        return false;
    }

    return true;
}

From source file:com.liferay.wiki.web.internal.portlet.toolbar.item.WikiPortletToolbarContributor.java

License:Open Source License

protected void addPortletTitleMenuItem(List<MenuItem> menuItems, WikiNode node, ThemeDisplay themeDisplay,
        PortletRequest portletRequest) throws PortalException {

    if (!containsPermission(themeDisplay.getPermissionChecker(), themeDisplay.getScopeGroupId(),
            node.getNodeId(), ActionKeys.ADD_PAGE)) {

        return;//w w w . j av a  2s.co  m
    }

    URLMenuItem urlMenuItem = new URLMenuItem();

    urlMenuItem.setIcon("icon-plus-sign-2");
    urlMenuItem.setLabel(LanguageUtil.get(PortalUtil.getHttpServletRequest(portletRequest), "add-page"));

    PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();

    PortletURL portletURL = PortletURLFactoryUtil.create(portletRequest, portletDisplay.getId(),
            PortletRequest.RENDER_PHASE);

    portletURL.setParameter("mvcRenderCommandName", "/wiki/edit_page");
    portletURL.setParameter("redirect", PortalUtil.getCurrentURL(portletRequest));
    portletURL.setParameter("nodeId", String.valueOf(node.getNodeId()));
    portletURL.setParameter("title", StringPool.BLANK);
    portletURL.setParameter("editTitle", "1");

    urlMenuItem.setURL(portletURL.toString());

    menuItems.add(urlMenuItem);
}

From source file:com.liferay.wiki.web.internal.portlet.toolbar.item.WikiPortletToolbarContributor.java

License:Open Source License

private WikiNode _getNode(ThemeDisplay themeDisplay, PortletRequest portletRequest) {

    WikiNode node = (WikiNode) portletRequest.getAttribute(WikiWebKeys.WIKI_NODE);

    if (node != null) {
        return node;
    }//from   ww  w . j  a v  a  2 s . c o  m

    String initialNodeName = StringPool.BLANK;

    try {
        WikiGroupServiceOverriddenConfiguration wikiGroupServiceOverriddenConfiguration = ConfigurationProviderUtil
                .getConfiguration(WikiGroupServiceOverriddenConfiguration.class,
                        new GroupServiceSettingsLocator(themeDisplay.getScopeGroupId(),
                                WikiConstants.SERVICE_NAME));

        initialNodeName = wikiGroupServiceOverriddenConfiguration.initialNodeName();
    } catch (ConfigurationException ce) {
        _log.error("Unable to get initial node name for group " + themeDisplay.getScopeGroupId());
    }

    String name = BeanParamUtil.getString(node, portletRequest, "name", initialNodeName);

    if (Validator.isNotNull(name)) {
        try {
            node = _wikiNodeService.getNode(themeDisplay.getScopeGroupId(), name);
        } catch (NoSuchNodeException nsne) {
            node = null;
        } catch (PortalException pe) {
            _log.error(pe, pe);
        }
    }

    return node;
}

From source file:se.vgregion.portal.innovationsslussen.createidea.controller.CreateIdeaViewController.java

License:Open Source License

/**
 * The render method for the confirmation view.
 *
 * @param request  the request//from w w  w . j av  a 2 s .  c  o  m
 * @param response the response
 * @param model    the model
 * @return the view
 */
@RenderMapping(params = "view=confirmation")
public String showConfirmation(RenderRequest request, RenderResponse response, final ModelMap model) {

    ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);
    long companyId = themeDisplay.getCompanyId();
    long scopeGroupId = themeDisplay.getScopeGroupId();

    try {
        Layout ideaLayout = getFriendlyURLLayout(scopeGroupId, themeDisplay);

        long ideaPlid = ideaLayout.getPlid();
        String ideaLink = request.getParameter("ideaLink");

        model.addAttribute("urlTitle", ideaLink);
        model.addAttribute("ideaPlid", ideaPlid);
        model.addAttribute("ideaPortletName", IdeaPortletsConstants.PORTLET_NAME_IDEA_PORTLET);

    } catch (Exception e) {
        e.printStackTrace();
    }

    return "confirmation";
}

From source file:se.vgregion.portal.innovationsslussen.createidea.controller.CreateIdeaViewController.java

License:Open Source License

/**
 * The default render method.//w  w w .  j  av a  2  s . c o  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   w  w  w  .j a  v  a 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.createidea.controller.CreateIdeaViewControllerTest.java

License:Open Source License

@Before
public void setUp() {
    ideaService = Mockito.mock(IdeaService.class);
    ideaSettingsService = Mockito.mock(IdeaSettingsService.class);
    ideaValidator = Mockito.mock(IdeaValidator.class);
    ldapService = Mockito.mock(LdapService.class);
    kivLdapService = Mockito.mock(LdapService.class);
    ideaPermissionCheckerService = Mockito.mock(IdeaPermissionCheckerService.class);

    renderRequest = Mockito.mock(RenderRequest.class);
    renderResponse = Mockito.mock(RenderResponse.class);
    model = Mockito.mock(ModelMap.class);

    ThemeDisplay themeDisplay = Mockito.mock(ThemeDisplay.class);
    Mockito.when(renderRequest.getAttribute(WebKeys.THEME_DISPLAY)).thenReturn(themeDisplay);
    Mockito.when(themeDisplay.getScopeGroupId()).thenReturn(1l);
    User user = Mockito.mock(User.class);
    Mockito.when(themeDisplay.getUser()).thenReturn(user);

    List<AdPerson> persons = new ArrayList<AdPerson>();
    persons.add(new AdPerson());
    Mockito.when(ldapService.find(Mockito.any(AdPerson.class))).thenReturn(persons);

    List<KivPerson> kivPersons = new ArrayList<KivPerson>();
    kivPersons.add(new KivPerson());
    Mockito.when(kivLdapService.find(Mockito.any(KivPerson.class))).thenReturn(kivPersons);

    controller = new CreateIdeaViewController(ideaService, ideaSettingsService, ideaValidator, ldapService,
            kivLdapService, ideaPermissionCheckerService) {
        @Override/*w  w w.j  av  a  2 s.com*/
        protected Layout getFriendlyURLLayout(long scopeGroupId, ThemeDisplay themeDisplay)
                throws SystemException, PortalException {
            return Mockito.mock(Layout.class);
        }

        @Override
        protected void copyRequestParameters(ActionRequest request, ActionResponse response) {

        }

        @Override
        protected HttpServletRequest toHttpServletRequest(ActionRequest request) {
            return Mockito.mock(HttpServletRequest.class);
        }
    };
}

From source file:se.vgregion.portal.innovationsslussen.createidea.controller.CreateIdeaViewControllerTest.java

License:Open Source License

@Test
public void submitIdea() throws Exception {
    ActionRequest actionRequest = Mockito.mock(ActionRequest.class);
    ActionResponse actionResponse = Mockito.mock(ActionResponse.class);
    Idea idea = new Idea();
    BindingResult binding = Mockito.mock(BindingResult.class);

    ThemeDisplay themeDisplay = Mockito.mock(ThemeDisplay.class);
    Mockito.when(themeDisplay.getScopeGroupId()).thenReturn(1l);
    Mockito.when(themeDisplay.getCompanyId()).thenReturn(1l);
    Mockito.when(actionRequest.getAttribute(WebKeys.THEME_DISPLAY)).thenReturn(themeDisplay);

    controller.submitIdea(actionRequest, actionResponse, model, idea, binding);
}