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.roles.admin.web.internal.portlet.configuration.icon.PermissionsPortletConfigurationIcon.java

License:Open Source License

@Override
public boolean isShow(PortletRequest portletRequest) {
    try {//www .j  av a  2  s .  c  o  m
        ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY);

        long roleId = _getRoleId(portletRequest);

        Role role = _roleService.fetchRole(roleId);

        String roleName = role.getName();

        if (!roleName.equals(RoleConstants.OWNER) && RolePermissionUtil
                .contains(themeDisplay.getPermissionChecker(), roleId, ActionKeys.PERMISSIONS)) {

            return true;
        }

        return false;
    } catch (Exception e) {
    }

    return false;
}

From source file:com.liferay.roles.item.selector.web.internal.display.context.RoleItemSelectorViewDisplayContext.java

License:Open Source License

public SearchContainer<Role> getSearchContainer() throws Exception {
    if (_searchContainer != null) {
        return _searchContainer;
    }//from www.  j  a v a  2 s.  co m

    _searchContainer = new RoleSearch(_renderRequest, getPortletURL());

    _searchContainer.setEmptyResultsMessage("no-roles-were-found");

    OrderByComparator<Role> orderByComparator = _usersAdmin.getRoleOrderByComparator(getOrderByCol(),
            getOrderByType());

    RowChecker rowChecker = new RoleItemSelectorChecker(_renderResponse, getCheckedRoleIds());

    _searchContainer.setOrderByCol(getOrderByCol());
    _searchContainer.setOrderByComparator(orderByComparator);
    _searchContainer.setOrderByType(getOrderByType());
    _searchContainer.setRowChecker(rowChecker);

    RoleSearchTerms searchTerms = (RoleSearchTerms) _searchContainer.getSearchTerms();

    searchTerms.setType(getType());

    List<Role> results = _roleLocalService.search(CompanyThreadLocal.getCompanyId(), searchTerms.getKeywords(),
            searchTerms.getTypesObj(), QueryUtil.ALL_POS, QueryUtil.ALL_POS,
            _searchContainer.getOrderByComparator());

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

    PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

    if (!permissionChecker.isOmniadmin()) {
        results = _usersAdmin.filterRoles(permissionChecker, results);
    }

    _searchContainer.setTotal(results.size());

    _searchContainer
            .setResults(ListUtil.subList(results, _searchContainer.getStart(), _searchContainer.getEnd()));

    return _searchContainer;
}

From source file:com.liferay.server.admin.web.internal.portlet.action.EditServerMVCActionCommand.java

License:Open Source License

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

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

    PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

    if (!permissionChecker.isOmniadmin()) {
        SessionErrors.add(actionRequest, PrincipalException.MustBeOmniadmin.class.getName());

        actionResponse.setRenderParameter("mvcPath", "/error.jsp");

        return;/*from  w ww.  j  ava  2s.c o m*/
    }

    PortletPreferences portletPreferences = PrefsPropsUtil.getPreferences();

    String cmd = ParamUtil.getString(actionRequest, Constants.CMD);

    String redirect = ParamUtil.getString(actionRequest, "redirect");

    if (cmd.equals("addLogLevel")) {
        addLogLevel(actionRequest);
    } else if (cmd.equals("cacheDb")) {
        cacheDb();
    } else if (cmd.equals("cacheMulti")) {
        cacheMulti();
    } else if (cmd.equals("cacheServlet")) {
        cacheServlet();
    } else if (cmd.equals("cacheSingle")) {
        cacheSingle();
    } else if (cmd.equals("cleanUpPermissions")) {
        CleanUpPermissionsUtil.cleanUpAddToPagePermissions(actionRequest);
    } else if (cmd.equals("cleanUpPortletPreferences")) {
        CleanUpPortletPreferencesUtil.cleanUpLayoutRevisionPortletPreferences();
    } else if (cmd.startsWith("convertProcess.")) {
        redirect = convertProcess(actionRequest, actionResponse, cmd);
    } else if (cmd.equals("dlPreviews")) {
        DLPreviewableProcessor.deleteFiles();
    } else if (cmd.equals("gc")) {
        gc();
    } else if (cmd.equals("installXuggler")) {
        try {
            installXuggler(actionRequest, actionResponse);
        } catch (XugglerInstallException xie) {
            SessionErrors.add(actionRequest, XugglerInstallException.class.getName(), xie);
        }
    } else if (cmd.equals("reindex")) {
        reindex(actionRequest);
    } else if (cmd.equals("reindexDictionaries")) {
        reindexDictionaries(actionRequest);
    } else if (cmd.equals("runScript")) {
        runScript(actionRequest, actionResponse);
    } else if (cmd.equals("shutdown")) {
        shutdown(actionRequest);
    } else if (cmd.equals("threadDump")) {
        threadDump();
    } else if (cmd.equals("updateExternalServices")) {
        updateExternalServices(actionRequest, portletPreferences);
    } else if (cmd.equals("updateLogLevels")) {
        updateLogLevels(actionRequest);
    } else if (cmd.equals("updateMail")) {
        updateMail(actionRequest, portletPreferences);
    } else if (cmd.equals("verifyMembershipPolicies")) {
        verifyMembershipPolicies();
    } else if (cmd.equals("verifyPluginTables")) {
        verifyPluginTables();
    }

    sendRedirect(actionRequest, actionResponse, redirect);
}

From source file:com.liferay.site.admin.web.internal.display.context.SiteAdminDisplayContext.java

License:Open Source License

public boolean hasAddChildSitePermission(Group group) throws PortalException {

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

    PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

    if (!group.isCompany() && (PortalPermissionUtil.contains(permissionChecker, ActionKeys.ADD_COMMUNITY)
            || GroupPermissionUtil.contains(permissionChecker, group, ActionKeys.ADD_COMMUNITY))) {

        return true;
    }//  www. ja  v  a  2s.c om

    return false;
}

From source file:com.liferay.site.admin.web.internal.display.context.SiteAdminDisplayContext.java

License:Open Source License

public boolean hasDeleteGroupPermission(Group group) throws PortalException {

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

    PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

    if (!group.isCompany() && GroupPermissionUtil.contains(permissionChecker, group, ActionKeys.DELETE)
            && !PortalUtil.isSystemGroup(group.getGroupKey())) {

        return true;
    }//from  www  . ja  v a  2  s .  c  o m

    return false;
}

From source file:com.liferay.site.admin.web.internal.portlet.configuration.icon.ManageSiteTemplatesConfigurationIcon.java

License:Open Source License

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

    if (PortalPermissionUtil.contains(themeDisplay.getPermissionChecker(),
            ActionKeys.ADD_LAYOUT_SET_PROTOTYPE)) {

        return true;
    }/*from  w w  w.j av a  2s. com*/

    return false;
}

From source file:com.liferay.site.browser.web.internal.display.context.SiteBrowserDisplayContext.java

License:Open Source License

public LinkedHashMap<String, Object> getGroupParams() throws PortalException {

    if (_groupParams != null) {
        return _groupParams;
    }/*from  ww  w .  j a v a  2  s .co  m*/

    long groupId = ParamUtil.getLong(_request, "groupId");
    boolean includeCurrentGroup = ParamUtil.getBoolean(_request, "includeCurrentGroup", true);

    String type = getType();

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

    PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();
    User user = themeDisplay.getUser();

    boolean filterManageableGroups = true;

    if (permissionChecker.isCompanyAdmin()) {
        filterManageableGroups = false;
    }

    _groupParams = new LinkedHashMap<>();

    _groupParams.put("active", Boolean.TRUE);

    if (isManualMembership()) {
        _groupParams.put("manualMembership", Boolean.TRUE);
    }

    if (type.equals("child-sites")) {
        Group parentGroup = GroupLocalServiceUtil.getGroup(groupId);

        List<Group> parentGroups = new ArrayList<>();

        parentGroups.add(parentGroup);

        _groupParams.put("groupsTree", parentGroups);
    } else if (filterManageableGroups) {
        _groupParams.put("usersGroups", user.getUserId());
    }

    _groupParams.put("site", Boolean.TRUE);

    if (!includeCurrentGroup && (groupId > 0)) {
        List<Long> excludedGroupIds = new ArrayList<>();

        Group group = GroupLocalServiceUtil.getGroup(groupId);

        if (group.isStagingGroup()) {
            excludedGroupIds.add(group.getLiveGroupId());
        } else {
            excludedGroupIds.add(groupId);
        }

        _groupParams.put("excludedGroupIds", excludedGroupIds);
    }

    return _groupParams;
}

From source file:com.liferay.site.browser.web.internal.display.context.SiteBrowserDisplayContext.java

License:Open Source License

public GroupSearch getGroupSearch() throws Exception {
    ThemeDisplay themeDisplay = (ThemeDisplay) _request.getAttribute(WebKeys.THEME_DISPLAY);

    Company company = themeDisplay.getCompany();

    GroupSearch groupSearch = new GroupSearch(_liferayPortletRequest, getPortletURL());

    GroupSearchTerms groupSearchTerms = (GroupSearchTerms) groupSearch.getSearchTerms();

    List<Group> results = new ArrayList<>();

    int additionalSites = 0;
    int total = 0;

    boolean includeCompany = ParamUtil.getBoolean(_request, "includeCompany");
    boolean includeUserPersonalSite = ParamUtil.getBoolean(_request, "includeUserPersonalSite");

    long[] classNameIds = _CLASS_NAME_IDS;

    if (includeCompany) {
        classNameIds = ArrayUtil.append(classNameIds, PortalUtil.getClassNameId(Company.class));
    }//from w w  w .  jav a2  s .c o  m

    if (includeUserPersonalSite) {
        if (groupSearch.getStart() == 0) {
            Group userPersonalSite = GroupLocalServiceUtil.getGroup(company.getCompanyId(),
                    GroupConstants.USER_PERSONAL_SITE);

            results.add(userPersonalSite);
        }

        additionalSites++;
    }

    String type = getType();

    if (type.equals("layoutScopes")) {
        total = GroupLocalServiceUtil.getGroupsCount(themeDisplay.getCompanyId(), Layout.class.getName(),
                getGroupId());
    } else if (type.equals("parent-sites")) {
    } else {
        total = GroupLocalServiceUtil.searchCount(themeDisplay.getCompanyId(), classNameIds,
                groupSearchTerms.getKeywords(), getGroupParams());
    }

    total += additionalSites;

    groupSearch.setTotal(total);

    int start = groupSearch.getStart();

    if (groupSearch.getStart() > additionalSites) {
        start = groupSearch.getStart() - additionalSites;
    }

    List<Group> groups = null;

    if (type.equals("layoutScopes")) {
        groups = GroupLocalServiceUtil.getGroups(company.getCompanyId(), Layout.class.getName(), getGroupId(),
                start, groupSearch.getResultEnd() - additionalSites);

        groups = _filterLayoutGroups(groups, isPrivateLayout());
    } else if (type.equals("parent-sites")) {
        Group group = GroupLocalServiceUtil.getGroup(getGroupId());

        groups = group.getAncestors();

        String filter = getFilter();

        if (Validator.isNotNull(filter)) {
            groups = _filterGroups(groups, filter);
        }

        total = groups.size();

        total += additionalSites;

        groupSearch.setTotal(total);
    } else {
        groups = GroupLocalServiceUtil.search(company.getCompanyId(), classNameIds,
                groupSearchTerms.getKeywords(), getGroupParams(), QueryUtil.ALL_POS, QueryUtil.ALL_POS,
                groupSearch.getOrderByComparator());

        groups = _filterGroups(groups, themeDisplay.getPermissionChecker());

        total = groups.size();

        total += additionalSites;

        groupSearch.setTotal(total);

        groups = groups.subList(start, groupSearch.getResultEnd() - additionalSites);
    }

    results.addAll(groups);

    groupSearch.setResults(results);

    return groupSearch;
}

From source file:com.liferay.site.navigation.admin.web.internal.display.context.SiteNavigationAdminDisplayContext.java

License:Open Source License

public boolean isShowAddButton() {
    ThemeDisplay themeDisplay = (ThemeDisplay) _request.getAttribute(WebKeys.THEME_DISPLAY);

    if (SiteNavigationPermission.contains(themeDisplay.getPermissionChecker(), themeDisplay.getSiteGroupId(),
            SiteNavigationActionKeys.ADD_SITE_NAVIGATION_MENU)) {

        return true;
    }//from w w  w  . j a  v a  2 s .  c om

    return false;
}

From source file:com.liferay.site.navigation.menu.web.internal.portlet.contributor.SiteNavigationMenuPortletToolbarContributor.java

License:Open Source License

@Override
protected List<MenuItem> getPortletTitleMenuItems(PortletRequest portletRequest,
        PortletResponse portletResponse) {

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

    try {/*from  ww  w.j  a  va  2 s .c o  m*/
        if (!LayoutPermissionUtil.contains(themeDisplay.getPermissionChecker(), themeDisplay.getLayout(),
                ActionKeys.UPDATE)) {

            return Collections.emptyList();
        }

        return Collections.singletonList(_createMenuItem(themeDisplay, portletRequest));
    } catch (Exception e) {
        _log.error("Unable to set add layout to menu item", e);

        return Collections.emptyList();
    }
}