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

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

Introduction

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

Prototype

@JSON(include = false)
public PermissionChecker getPermissionChecker() 

Source Link

Document

Returns the permission checker, which is used to ensure users making resource requests have the necessary access permissions.

Usage

From source file:com.liferay.users.admin.web.internal.portlet.action.EditProfileAndPrivateAreaMVCActionCommand.java

License:Open Source License

@Override
protected void doProcessAction(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {

    User user = _portal.getSelectedUser(actionRequest);

    Group group = user.getGroup();

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

    PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

    if (GroupPermissionUtil.contains(permissionChecker, group.getGroupId(), ActionKeys.UPDATE)
            && PortalPermissionUtil.contains(permissionChecker, ActionKeys.UNLINK_LAYOUT_SET_PROTOTYPE)) {

        long publicLayoutSetPrototypeId = ParamUtil.getLong(actionRequest, "publicLayoutSetPrototypeId");
        long privateLayoutSetPrototypeId = ParamUtil.getLong(actionRequest, "privateLayoutSetPrototypeId");
        boolean publicLayoutSetPrototypeLinkEnabled = ParamUtil.getBoolean(actionRequest,
                "publicLayoutSetPrototypeLinkEnabled");
        boolean privateLayoutSetPrototypeLinkEnabled = ParamUtil.getBoolean(actionRequest,
                "privateLayoutSetPrototypeLinkEnabled");

        LayoutSet publicLayoutSet = group.getPublicLayoutSet();
        LayoutSet privateLayoutSet = group.getPrivateLayoutSet();

        if ((publicLayoutSetPrototypeId > 0) || (privateLayoutSetPrototypeId > 0)
                || (publicLayoutSetPrototypeLinkEnabled != publicLayoutSet.isLayoutSetPrototypeLinkEnabled())
                || (privateLayoutSetPrototypeLinkEnabled != privateLayoutSet
                        .isLayoutSetPrototypeLinkEnabled())) {

            _sites.updateLayoutSetPrototypesLinks(group, publicLayoutSetPrototypeId,
                    privateLayoutSetPrototypeId, publicLayoutSetPrototypeLinkEnabled,
                    privateLayoutSetPrototypeLinkEnabled);
        }/*from  w ww .  j  a  v a 2  s  .c  om*/
    }
}

From source file:com.liferay.users.admin.web.internal.portlet.action.ExportUsersMVCResourceCommand.java

License:Open Source License

protected List<User> getUsers(ResourceRequest resourceRequest, ResourceResponse resourceResponse)
        throws Exception {

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

    PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

    boolean exportAllUsers = PortalPermissionUtil.contains(permissionChecker, ActionKeys.EXPORT_USER);

    if (!exportAllUsers && !PortletPermissionUtil.contains(permissionChecker, UsersAdminPortletKeys.USERS_ADMIN,
            ActionKeys.EXPORT_USER)) {/*from  w ww . j av  a 2s.co m*/

        return Collections.emptyList();
    }

    LiferayPortletResponse liferayPortletResponse = _portal.getLiferayPortletResponse(resourceResponse);

    PortletURL portletURL = liferayPortletResponse.createRenderURL(UsersAdminPortletKeys.USERS_ADMIN);

    UserSearch userSearch = new UserSearch(resourceRequest, portletURL);

    UserSearchTerms searchTerms = (UserSearchTerms) userSearch.getSearchTerms();

    LinkedHashMap<String, Object> params = new LinkedHashMap<>();

    long organizationId = searchTerms.getOrganizationId();

    if (organizationId > 0) {
        params.put("usersOrgs", Long.valueOf(organizationId));
    } else if (!exportAllUsers) {
        User user = themeDisplay.getUser();

        Long[] organizationIds = ArrayUtil.toArray(user.getOrganizationIds(true));

        if (organizationIds.length > 0) {
            params.put("usersOrgs", organizationIds);
        }
    }

    long roleId = searchTerms.getRoleId();

    if (roleId > 0) {
        params.put("usersRoles", Long.valueOf(roleId));
    }

    long userGroupId = searchTerms.getUserGroupId();

    if (userGroupId > 0) {
        params.put("usersUserGroups", Long.valueOf(userGroupId));
    }

    Indexer<?> indexer = IndexerRegistryUtil.nullSafeGetIndexer(User.class);

    if (indexer.isIndexerEnabled() && PropsValues.USERS_SEARCH_WITH_INDEX) {
        params.put("expandoAttributes", searchTerms.getKeywords());
    }

    if (searchTerms.isAdvancedSearch()) {
        return _userLocalService.search(themeDisplay.getCompanyId(), searchTerms.getFirstName(),
                searchTerms.getMiddleName(), searchTerms.getLastName(), searchTerms.getScreenName(),
                searchTerms.getEmailAddress(), searchTerms.getStatus(), params, searchTerms.isAndOperator(),
                QueryUtil.ALL_POS, QueryUtil.ALL_POS, (OrderByComparator<User>) null);
    } else {
        return _userLocalService.search(themeDisplay.getCompanyId(), searchTerms.getKeywords(),
                searchTerms.getStatus(), params, QueryUtil.ALL_POS, QueryUtil.ALL_POS,
                (OrderByComparator<User>) null);
    }
}

From source file:com.liferay.users.admin.web.internal.portlet.configuration.icon.AssignOrganizationRolesPortletConfigurationIcon.java

License:Open Source License

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

    try {/*from  w w  w  .ja  v a2s.co  m*/
        PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

        Organization organization = ActionUtil.getOrganization(portletRequest);

        long organizationGroupId = organization.getGroupId();

        if (permissionChecker.isGroupOwner(organizationGroupId) || OrganizationPermissionUtil
                .contains(permissionChecker, organization, ActionKeys.ASSIGN_USER_ROLES)) {

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

    return false;
}

From source file:com.liferay.users.admin.web.internal.portlet.configuration.icon.AssignUsersPortletConfigurationIcon.java

License:Open Source License

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

    try {//from   w w w .  java 2 s .com
        PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

        Organization organization = ActionUtil.getOrganization(portletRequest);

        if (OrganizationPermissionUtil.contains(permissionChecker, organization, ActionKeys.MANAGE_USERS)) {

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

    return false;
}

From source file:com.liferay.users.admin.web.internal.portlet.configuration.icon.DeleteOrganizationPortletConfigurationIcon.java

License:Open Source License

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

    try {/*  w w w.  j  ava 2  s.  c o m*/
        PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

        Organization organization = ActionUtil.getOrganization(portletRequest);

        if (OrganizationPermissionUtil.contains(permissionChecker, organization, ActionKeys.DELETE)) {

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

    return false;
}

From source file:com.liferay.users.admin.web.internal.portlet.configuration.icon.EditOrganizationPortletConfigurationIcon.java

License:Open Source License

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

    try {/*from w  w  w . j  av  a 2  s  . c om*/
        PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

        Organization organization = ActionUtil.getOrganization(portletRequest);

        if (OrganizationPermissionUtil.contains(permissionChecker, organization, ActionKeys.UPDATE)) {

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

    return false;
}

From source file:com.liferay.users.admin.web.internal.portlet.configuration.icon.ExportUsersPortletConfigurationIcon.java

License:Open Source License

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

    PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

    if (PortalPermissionUtil.contains(permissionChecker, ActionKeys.EXPORT_USER)) {

        return true;
    }/*from  w w w.java  2s  .  co m*/

    try {
        return PortletPermissionUtil.contains(permissionChecker, UsersAdminPortletKeys.USERS_ADMIN,
                ActionKeys.EXPORT_USER);
    } catch (PortalException pe) {

        // LPS-52675

        if (_log.isDebugEnabled()) {
            _log.debug(pe, pe);
        }
    }

    return false;
}

From source file:com.liferay.users.admin.web.internal.portlet.configuration.icon.ManageSitePortletConfigurationIcon.java

License:Open Source License

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

    try {/*from   w  ww.j  a  va 2s  .c om*/
        PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

        Organization organization = ActionUtil.getOrganization(portletRequest);

        Group organizationGroup = organization.getGroup();

        if (organizationGroup.isSite() && (GroupPermissionUtil.contains(permissionChecker, organizationGroup,
                ActionKeys.MANAGE_STAGING)
                || OrganizationPermissionUtil.contains(permissionChecker, organization, ActionKeys.UPDATE))) {

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

    return false;
}

From source file:com.liferay.wiki.web.internal.display.context.DefaultWikiListPagesDisplayContext.java

License:Open Source License

@Override
public void populateResultsAndTotal(SearchContainer searchContainer) throws PortalException {

    WikiPage page = (WikiPage) _request.getAttribute(WikiWebKeys.WIKI_PAGE);

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

    String navigation = ParamUtil.getString(_request, "navigation", "all-pages");

    String keywords = ParamUtil.getString(_request, "keywords");

    int total = 0;
    List<WikiPage> results = new ArrayList<>();

    if (Validator.isNotNull(keywords)) {
        Indexer<WikiPage> indexer = IndexerRegistryUtil.getIndexer(WikiPage.class);

        SearchContext searchContext = SearchContextFactory.getInstance(_request);

        searchContext.setAttribute("paginationType", "more");
        searchContext.setEnd(searchContainer.getEnd());
        searchContext.setIncludeAttachments(true);
        searchContext.setIncludeDiscussions(true);
        searchContext.setKeywords(keywords);
        searchContext.setNodeIds(new long[] { _wikiNode.getNodeId() });
        searchContext.setStart(searchContainer.getStart());

        Hits hits = indexer.search(searchContext);

        searchContainer.setTotal(hits.getLength());

        List<SearchResult> searchResults = SearchResultUtil.getSearchResults(hits, themeDisplay.getLocale());

        for (SearchResult searchResult : searchResults) {
            WikiPage wikiPage = WikiPageLocalServiceUtil.getPage(searchResult.getClassPK());

            results.add(wikiPage);//  ww w  .  j  a  va 2 s .  co m
        }
    } else if (navigation.equals("all-pages")) {
        total = WikiPageServiceUtil.getPagesCount(themeDisplay.getScopeGroupId(), _wikiNode.getNodeId(), true,
                themeDisplay.getUserId(), true, WorkflowConstants.STATUS_APPROVED);

        searchContainer.setTotal(total);

        OrderByComparator<WikiPage> obc = WikiPortletUtil
                .getPageOrderByComparator(searchContainer.getOrderByCol(), searchContainer.getOrderByType());

        results = WikiPageServiceUtil.getPages(themeDisplay.getScopeGroupId(), _wikiNode.getNodeId(), true,
                themeDisplay.getUserId(), true, WorkflowConstants.STATUS_APPROVED, searchContainer.getStart(),
                searchContainer.getEnd(), obc);
    } else if (navigation.equals("categorized-pages") || navigation.equals("tagged-pages")) {

        AssetEntryQuery assetEntryQuery = new AssetEntryQuery(WikiPage.class.getName(), searchContainer);

        assetEntryQuery.setEnablePermissions(true);

        total = AssetEntryServiceUtil.getEntriesCount(assetEntryQuery);

        searchContainer.setTotal(total);

        assetEntryQuery.setEnd(searchContainer.getEnd());
        assetEntryQuery.setStart(searchContainer.getStart());

        List<AssetEntry> assetEntries = AssetEntryServiceUtil.getEntries(assetEntryQuery);

        for (AssetEntry assetEntry : assetEntries) {
            WikiPageResource pageResource = WikiPageResourceLocalServiceUtil
                    .getPageResource(assetEntry.getClassPK());

            WikiPage assetPage = WikiPageLocalServiceUtil.getPage(pageResource.getNodeId(),
                    pageResource.getTitle());

            results.add(assetPage);
        }
    } else if (navigation.equals("draft-pages") || navigation.equals("pending-pages")) {

        long draftUserId = themeDisplay.getUserId();

        PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

        if (permissionChecker.isContentReviewer(themeDisplay.getCompanyId(), themeDisplay.getScopeGroupId())) {

            draftUserId = 0;
        }

        int status = WorkflowConstants.STATUS_DRAFT;

        if (navigation.equals("pending-pages")) {
            status = WorkflowConstants.STATUS_PENDING;
        }

        total = WikiPageServiceUtil.getPagesCount(themeDisplay.getScopeGroupId(), draftUserId,
                _wikiNode.getNodeId(), status);

        searchContainer.setTotal(total);

        results = WikiPageServiceUtil.getPages(themeDisplay.getScopeGroupId(), draftUserId,
                _wikiNode.getNodeId(), status, searchContainer.getStart(), searchContainer.getEnd());
    } else if (navigation.equals("frontpage")) {
        WikiWebComponentProvider wikiWebComponentProvider = WikiWebComponentProvider
                .getWikiWebComponentProvider();

        WikiGroupServiceConfiguration wikiGroupServiceConfiguration = wikiWebComponentProvider
                .getWikiGroupServiceConfiguration();

        WikiPage wikiPage = WikiPageServiceUtil.getPage(themeDisplay.getScopeGroupId(), _wikiNode.getNodeId(),
                wikiGroupServiceConfiguration.frontPageName());

        searchContainer.setTotal(1);

        results.add(wikiPage);
    } else if (navigation.equals("history")) {
        total = WikiPageLocalServiceUtil.getPagesCount(page.getNodeId(), page.getTitle());

        searchContainer.setTotal(total);

        results = WikiPageLocalServiceUtil.getPages(page.getNodeId(), page.getTitle(), QueryUtil.ALL_POS,
                QueryUtil.ALL_POS, new PageVersionComparator());
    } else if (navigation.equals("incoming-links")) {
        List<WikiPage> links = WikiPageLocalServiceUtil.getIncomingLinks(page.getNodeId(), page.getTitle());

        total = links.size();

        searchContainer.setTotal(total);

        results = ListUtil.subList(links, searchContainer.getStart(), searchContainer.getEnd());
    } else if (navigation.equals("orphan-pages")) {
        List<WikiPage> orphans = WikiPageServiceUtil.getOrphans(themeDisplay.getScopeGroupId(),
                _wikiNode.getNodeId());

        total = orphans.size();

        searchContainer.setTotal(total);

        results = ListUtil.subList(orphans, searchContainer.getStart(), searchContainer.getEnd());
    } else if (navigation.equals("outgoing-links")) {
        List<WikiPage> links = WikiPageLocalServiceUtil.getOutgoingLinks(page.getNodeId(), page.getTitle());

        total = links.size();

        searchContainer.setTotal(total);

        results = ListUtil.subList(links, searchContainer.getStart(), searchContainer.getEnd());
    } else if (navigation.equals("recent-changes")) {
        total = WikiPageServiceUtil.getRecentChangesCount(themeDisplay.getScopeGroupId(),
                _wikiNode.getNodeId());

        searchContainer.setTotal(total);

        results = WikiPageServiceUtil.getRecentChanges(themeDisplay.getScopeGroupId(), _wikiNode.getNodeId(),
                searchContainer.getStart(), searchContainer.getEnd());
    }

    searchContainer.setResults(results);
}

From source file:com.liferay.wiki.web.internal.portlet.action.ActionUtil.java

License:Open Source License

public static WikiNode getFirstNode(PortletRequest portletRequest) throws PortalException {

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

    long groupId = themeDisplay.getScopeGroupId();
    PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

    List<WikiNode> nodes = WikiNodeLocalServiceUtil.getNodes(groupId);

    PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();

    WikiPortletInstanceOverriddenConfiguration wikiPortletInstanceOverriddenConfiguration = ConfigurationProviderUtil
            .getConfiguration(WikiPortletInstanceOverriddenConfiguration.class,
                    new PortletInstanceSettingsLocator(themeDisplay.getLayout(), portletDisplay.getId()));

    String[] visibleNodeNames = wikiPortletInstanceOverriddenConfiguration.visibleNodes();

    nodes = WikiUtil.orderNodes(nodes, visibleNodeNames);

    String[] hiddenNodes = wikiPortletInstanceOverriddenConfiguration.hiddenNodes();

    Arrays.sort(hiddenNodes);//  w  w  w .  j  a v a 2  s. c o m

    for (WikiNode node : nodes) {
        if ((Arrays.binarySearch(hiddenNodes, node.getName()) < 0)
                && WikiNodePermissionChecker.contains(permissionChecker, node, ActionKeys.VIEW)) {

            return node;
        }
    }

    return null;
}