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

License:Open Source License

@Override
public boolean isShow(PortletRequest portletRequest) {
    try {/*from  w ww  .j  ava  2s.c  om*/
        JournalArticle article = ActionUtil.getArticle(portletRequest);

        if ((article == null) || article.isNew()) {
            return false;
        }

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

        if (JournalArticlePermission.contains(themeDisplay.getPermissionChecker(), article,
                ActionKeys.PERMISSIONS)) {

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

    return false;
}

From source file:com.liferay.journal.web.internal.search.EntriesChecker.java

License:Open Source License

public EntriesChecker(LiferayPortletRequest liferayPortletRequest,
        LiferayPortletResponse liferayPortletResponse) {

    super(liferayPortletResponse);

    _journalDisplayContext = new JournalDisplayContext(PortalUtil.getHttpServletRequest(liferayPortletRequest),
            liferayPortletRequest, liferayPortletResponse, liferayPortletRequest.getPreferences());

    _liferayPortletResponse = liferayPortletResponse;

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

    _permissionChecker = themeDisplay.getPermissionChecker();
}

From source file:com.liferay.journal.web.internal.upload.ImageJournalUploadFileEntryHandler.java

License:Open Source License

@Override
public FileEntry upload(UploadPortletRequest uploadPortletRequest) throws IOException, PortalException {

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

    _checkPermission(themeDisplay.getScopeGroupId(), themeDisplay.getPermissionChecker());

    String fileName = uploadPortletRequest.getFileName(_PARAMETER_NAME);
    long size = uploadPortletRequest.getSize(_PARAMETER_NAME);

    _validateFile(fileName, size);//from  w  w  w .j  a  v  a  2  s  .com

    String contentType = uploadPortletRequest.getContentType(_PARAMETER_NAME);

    try (InputStream inputStream = uploadPortletRequest.getFileAsStream(_PARAMETER_NAME)) {

        String uniqueFileName = _uniqueFileNameProvider.provide(fileName,
                curFileName -> _exists(themeDisplay, curFileName));

        return TempFileEntryUtil.addTempFileEntry(themeDisplay.getScopeGroupId(), themeDisplay.getUserId(),
                _TEMP_FOLDER_NAME, uniqueFileName, inputStream, contentType);
    }
}

From source file:com.liferay.layout.admin.web.internal.control.menu.CustomizationSettingsProductNavigationControlMenuEntry.java

License:Open Source License

public boolean hasUpdateLayoutPermission(ThemeDisplay themeDisplay) throws PortalException {

    if (LayoutPermissionUtil.contains(themeDisplay.getPermissionChecker(), themeDisplay.getLayout(),
            ActionKeys.UPDATE)) {//  w w w  . j  a  va  2  s  .c om

        return true;
    }

    return false;
}

From source file:com.liferay.layout.admin.web.internal.control.menu.CustomizationSettingsProductNavigationControlMenuEntry.java

License:Open Source License

protected boolean isCustomizableLayout(ThemeDisplay themeDisplay) throws PortalException {

    Layout layout = themeDisplay.getLayout();

    Group group = layout.getGroup();

    if (group.isLayoutPrototype() || group.isLayoutSetPrototype() || group.isStagingGroup()
            || group.isUserGroup()) {/*from   ww w .ja v a  2s  .co m*/

        return false;
    }

    LayoutTypePortlet layoutTypePortlet = themeDisplay.getLayoutTypePortlet();

    if (!layout.isTypePortlet() || (layoutTypePortlet == null)) {
        return false;
    }

    if (layout.isCustomizable() && hasUpdateLayoutPermission(themeDisplay)) {

        return true;
    }

    if (!layoutTypePortlet.isCustomizable()) {
        return false;
    }

    if (!LayoutPermissionUtil.containsWithoutViewableGroup(themeDisplay.getPermissionChecker(), layout, false,
            ActionKeys.CUSTOMIZE)) {

        return false;
    }

    return true;
}

From source file:com.liferay.layout.admin.web.internal.control.menu.ToggleControlsProductNavigationControlMenuEntry.java

License:Open Source License

protected boolean hasCustomizePermission(ThemeDisplay themeDisplay) throws PortalException {

    Layout layout = themeDisplay.getLayout();
    LayoutTypePortlet layoutTypePortlet = themeDisplay.getLayoutTypePortlet();

    if (!layout.isTypePortlet() || (layoutTypePortlet == null)) {
        return false;
    }/*  w  w  w.  j  a  va  2 s .  c o m*/

    if (!layoutTypePortlet.isCustomizable() || !layoutTypePortlet.isCustomizedView()) {

        return false;
    }

    if (LayoutPermissionUtil.contains(themeDisplay.getPermissionChecker(), layout, ActionKeys.CUSTOMIZE)) {

        return true;
    }

    return false;
}

From source file:com.liferay.layout.admin.web.internal.control.menu.ToggleControlsProductNavigationControlMenuEntry.java

License:Open Source License

protected boolean hasPortletConfigurationPermission(ThemeDisplay themeDisplay) throws PortalException {

    return PortletPermissionUtil.hasConfigurationPermission(themeDisplay.getPermissionChecker(),
            themeDisplay.getSiteGroupId(), themeDisplay.getLayout(), ActionKeys.CONFIGURATION);
}

From source file:com.liferay.layout.admin.web.internal.control.menu.ToggleControlsProductNavigationControlMenuEntry.java

License:Open Source License

protected boolean hasUpdateLayoutPermission(ThemeDisplay themeDisplay) throws PortalException {

    return LayoutPermissionUtil.contains(themeDisplay.getPermissionChecker(), themeDisplay.getLayout(),
            ActionKeys.UPDATE);/*  w  w  w  .j  ava  2  s .  c o  m*/
}

From source file:com.liferay.layout.admin.web.internal.display.context.LayoutPageTemplateDisplayContext.java

License:Open Source License

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

    if (LayoutPageTemplatePermission.contains(themeDisplay.getPermissionChecker(),
            themeDisplay.getSiteGroupId(), actionId)) {

        return true;
    }//from ww w.j  a va 2 s  . com

    return false;
}

From source file:com.liferay.layout.admin.web.internal.portlet.action.DeleteLayoutMVCActionCommand.java

License:Open Source License

protected void deleteLayout(long selPlid, ActionRequest actionRequest, ActionResponse actionResponse)
        throws PortalException {

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

    PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

    Layout layout = _layoutLocalService.getLayout(selPlid);

    Group group = layout.getGroup();

    if (group.isStagingGroup()
            && !GroupPermissionUtil.contains(permissionChecker, group, ActionKeys.MANAGE_STAGING)
            && !GroupPermissionUtil.contains(permissionChecker, group, ActionKeys.PUBLISH_STAGING)) {

        throw new PrincipalException.MustHavePermission(permissionChecker, Group.class.getName(),
                group.getGroupId(), ActionKeys.MANAGE_STAGING, ActionKeys.PUBLISH_STAGING);
    }//w  ww.  jav  a 2s  .com

    if (LayoutPermissionUtil.contains(permissionChecker, layout, ActionKeys.DELETE)) {

        LayoutType layoutType = layout.getLayoutType();

        EventsProcessorUtil.process(PropsKeys.LAYOUT_CONFIGURATION_ACTION_DELETE,
                layoutType.getConfigurationActionDelete(), _portal.getHttpServletRequest(actionRequest),
                _portal.getHttpServletResponse(actionResponse));
    }

    if (group.isGuest() && !layout.isPrivateLayout() && layout.isRootLayout() && (_layoutLocalService
            .getLayoutsCount(group, false, LayoutConstants.DEFAULT_PARENT_LAYOUT_ID) == 1)) {

        throw new RequiredLayoutException(RequiredLayoutException.AT_LEAST_ONE);
    }

    ServiceContext serviceContext = ServiceContextFactory.getInstance(actionRequest);

    _layoutService.deleteLayout(selPlid, serviceContext);
}