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.portlet.configuration.css.web.internal.portlet.PortletConfigurationCSSPortlet.java

License:Open Source License

public void getLookAndFeel(ResourceRequest resourceRequest, ResourceResponse resourceResponse)
        throws PortletException {

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

    try {/*www  .  j a  v a  2  s  .c  om*/
        Layout layout = themeDisplay.getLayout();

        PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

        String portletId = ParamUtil.getString(resourceRequest, "portletId");

        if (!PortletPermissionUtil.contains(permissionChecker, layout, portletId, ActionKeys.CONFIGURATION)) {

            return;
        }

        PortletPreferences portletSetup = PortletPreferencesFactoryUtil.getStrictLayoutPortletSetup(layout,
                portletId);

        JSONObject portletSetupJSONObject = PortletSetupUtil.cssToJSONObject(portletSetup);

        JSONObject defaultPortletTitlesJSONObject = JSONFactoryUtil.createJSONObject();

        for (Locale locale : LanguageUtil.getAvailableLocales(themeDisplay.getSiteGroupId())) {

            String rootPortletId = PortletConstants.getRootPortletId(portletId);
            String languageId = LocaleUtil.toLanguageId(locale);

            defaultPortletTitlesJSONObject.put(languageId, _portal.getPortletTitle(rootPortletId, languageId));
        }

        portletSetupJSONObject.put("defaultPortletTitles", defaultPortletTitlesJSONObject);

        writeJSON(resourceRequest, resourceResponse, portletSetupJSONObject.toString());
    } catch (Exception e) {
        throw new PortletException(e);
    }
}

From source file:com.liferay.portlet.configuration.css.web.internal.portlet.PortletConfigurationCSSPortlet.java

License:Open Source License

public void updateLookAndFeel(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {

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

    Layout layout = themeDisplay.getLayout();

    PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

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

    if (!PortletPermissionUtil.contains(permissionChecker, layout, portletId, ActionKeys.CONFIGURATION)) {

        return;/*  ww w  .j  av  a 2  s .  c o m*/
    }

    PortletPreferences portletSetup = PortletPreferencesFactoryUtil.getStrictLayoutPortletSetup(layout,
            portletId);

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

    if (_log.isDebugEnabled()) {
        _log.debug("Updating css " + css);
    }

    JSONObject jsonObject = JSONFactoryUtil.createJSONObject(css);

    JSONObject portletDataJSONObject = jsonObject.getJSONObject("portletData");

    jsonObject.remove("portletData");

    css = jsonObject.toString();

    String linkToLayoutUuid = GetterUtil.getString(portletDataJSONObject.getString("portletLinksTarget"));
    String portletDecoratorId = portletDataJSONObject.getString("portletDecoratorId");
    JSONObject titlesJSONObject = portletDataJSONObject.getJSONObject("titles");
    boolean useCustomTitle = portletDataJSONObject.getBoolean("useCustomTitle");

    Set<Locale> locales = LanguageUtil.getAvailableLocales(themeDisplay.getSiteGroupId());

    for (Locale locale : locales) {
        String languageId = LocaleUtil.toLanguageId(locale);

        String title = null;

        if (titlesJSONObject.has(languageId)) {
            title = GetterUtil.getString(titlesJSONObject.getString(languageId));
        }

        String rootPortletId = PortletConstants.getRootPortletId(portletId);

        String defaultPortletTitle = _portal.getPortletTitle(rootPortletId, languageId);

        if ((title != null) && !Objects.equals(defaultPortletTitle, title)) {

            portletSetup.setValue("portletSetupTitle_" + languageId, title);
        } else {
            portletSetup.reset("portletSetupTitle_" + languageId);
        }
    }

    portletSetup.setValue("portletSetupUseCustomTitle", String.valueOf(useCustomTitle));

    if (Validator.isNotNull(linkToLayoutUuid)) {
        portletSetup.setValue("portletSetupLinkToLayoutUuid", linkToLayoutUuid);
    } else {
        portletSetup.reset("portletSetupLinkToLayoutUuid");
    }

    if (Validator.isNotNull(portletDecoratorId)) {
        portletSetup.setValue("portletSetupPortletDecoratorId", portletDecoratorId);
    } else {
        portletSetup.reset("portletSetupPortletDecoratorId");
    }

    portletSetup.setValue("portletSetupCss", css);

    portletSetup.store();
}

From source file:com.liferay.portlet.configuration.icon.maximize.internal.MaximizePortletConfigurationIcon.java

License:Open Source License

protected boolean hasUpdateLayoutPermission(ThemeDisplay themeDisplay) {
    try {//from w  w w . j  a va 2  s  .  c  o  m
        return LayoutPermissionUtil.contains(themeDisplay.getPermissionChecker(), themeDisplay.getLayout(),
                ActionKeys.UPDATE);
    } catch (PortalException pe) {
        _log.error(pe, pe);

        return false;
    }
}

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

License:Open Source License

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

    PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

    try {/*w  w  w.  jav  a 2 s  .c o m*/
        if (!GroupPermissionUtil.contains(permissionChecker, themeDisplay.getScopeGroupId(),
                ActionKeys.MANAGE_ARCHIVED_SETUPS)) {

            return false;
        }
    } catch (PortalException pe) {

        // LPS-52675

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

        return false;
    }

    WindowState windowState = portletRequest.getWindowState();

    if (windowState.equals(LiferayWindowState.EXCLUSIVE)) {
        return false;
    }

    Layout layout = themeDisplay.getLayout();

    if (layout.isTypeControlPanel()) {
        return false;
    }

    PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();

    return portletDisplay.isShowConfigurationIcon();
}

From source file:com.liferay.portlet.configuration.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);

    PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();

    String rootPortletId = portletDisplay.getRootPortletId();

    if (Validator.isNotNull(portletDisplay.getPortletResource())) {
        String portletResource = portletDisplay.getPortletResource();

        Portlet portlet = _portletLocalService.getPortletById(themeDisplay.getCompanyId(), portletResource);

        rootPortletId = portlet.getRootPortletId();
    }//from w w w. ja v a 2 s  .c om

    boolean showPermissionsIcon = false;

    Layout layout = themeDisplay.getLayout();

    Group group = themeDisplay.getScopeGroup();

    if (!group.hasStagingGroup() || _STAGING_LIVE_GROUP_LOCKING_ENABLED) {
        try {
            if (PortletPermissionUtil.contains(themeDisplay.getPermissionChecker(), layout, rootPortletId,
                    ActionKeys.PERMISSIONS)) {

                showPermissionsIcon = true;
            }
        } catch (PortalException pe) {

            // LPS-52675

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

            showPermissionsIcon = false;
        }
    }

    if (layout.isLayoutPrototypeLinkActive()) {
        showPermissionsIcon = false;
    }

    if (layout.isTypeControlPanel()) {
        showPermissionsIcon = false;
    }

    return showPermissionsIcon;
}

From source file:com.liferay.portlet.configuration.web.internal.portlet.PortletConfigurationPortlet.java

License:Open Source License

protected void checkEditPermissionsJSP(PortletRequest request) throws PortalException {

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

    String modelResource = ParamUtil.getString(request, "modelResource");

    long resourceGroupId = ParamUtil.getLong(request, "resourceGroupId", themeDisplay.getScopeGroupId());

    if (Validator.isNotNull(modelResource)) {
        String resourcePrimKey = ParamUtil.getString(request, "resourcePrimKey");

        _permissionService.checkPermission(resourceGroupId, modelResource, resourcePrimKey);

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

    String portletResource = ParamUtil.getString(request, "portletResource");

    PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

    Layout layout = PortletConfigurationLayoutUtil.getLayout(themeDisplay);

    _portletPermission.check(permissionChecker, resourceGroupId, layout, portletResource,
            ActionKeys.PERMISSIONS);
}

From source file:com.liferay.product.navigation.simulation.web.internal.product.navigation.control.menu.SimulationProductNavigationControlMenuEntry.java

License:Open Source License

@Override
public boolean isShow(HttpServletRequest request) throws PortalException {
    ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);

    Layout layout = themeDisplay.getLayout();

    if (layout.isTypeControlPanel()) {
        return false;
    }//ww w .ja  v  a  2  s  .  c  om

    List<PanelApp> panelApps = _panelAppRegistry.getPanelApps(
            ProductNavigationSimulationConstants.SIMULATION_PANEL_CATEGORY_KEY,
            themeDisplay.getPermissionChecker(), themeDisplay.getScopeGroup());

    if (panelApps.isEmpty()) {
        return false;
    }

    return super.isShow(request);
}

From source file:com.liferay.product.navigation.user.personal.bar.web.internal.portlet.ProductNavigationUserPersonalBarPortlet.java

License:Open Source License

protected int getNotificationsCount(ThemeDisplay themeDisplay) {
    PanelCategoryHelper panelCategoryHelper = new PanelCategoryHelper(_panelAppRegistry,
            _panelCategoryRegistry);//w  w w .j  ava2 s .c o m

    return panelCategoryHelper.getNotificationsCount(PanelCategoryKeys.USER,
            themeDisplay.getPermissionChecker(), themeDisplay.getScopeGroup(), themeDisplay.getUser());
}

From source file:com.liferay.quick.note.web.internal.portlet.action.SaveMVCActionCommand.java

License:Open Source License

@Override
public boolean processAction(ActionRequest actionRequest, ActionResponse actionResponse)
        throws PortletException {

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

    try {//  www  .j  a  va  2s  .  c  o  m
        PortletPermissionUtil.check(themeDisplay.getPermissionChecker(), themeDisplay.getLayout(),
                themeDisplay.getPpid(), ActionKeys.CONFIGURATION);

        PortletPreferences portletPreferences = PortletPreferencesFactoryUtil
                .getStrictPortletSetup(themeDisplay.getLayout(), themeDisplay.getPpid());

        if (portletPreferences instanceof StrictPortletPreferencesImpl) {
            throw new PortletPreferencesException.MustBeStrict(themeDisplay.getPpid());
        }

        String color = ParamUtil.getString(actionRequest, "color");
        String data = ParamUtil.getString(actionRequest, "data");

        if (Validator.isNotNull(color)) {
            portletPreferences.setValue("color", color);
        }

        if (Validator.isNotNull(data)) {
            portletPreferences.setValue("data", data);
        }

        portletPreferences.store();
    } catch (Exception e) {
        throw new PortletException(e);
    }

    return true;
}

From source file:com.liferay.roles.admin.web.internal.portlet.configuration.icon.DeleteRolePortletConfigurationIcon.java

License:Open Source License

@Override
public boolean isShow(PortletRequest portletRequest) {
    try {/*  w  w  w.j a  va2s. c o  m*/
        ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY);

        long roleId = _getRoleId(portletRequest);

        Role role = _roleService.fetchRole(roleId);

        if (!role.isSystem() && RolePermissionUtil.contains(themeDisplay.getPermissionChecker(), roleId,
                ActionKeys.DELETE)) {

            return true;
        }

        return false;
    } catch (Exception e) {
    }

    return false;
}