Example usage for com.liferay.portal.kernel.security.permission ActionKeys VIEW

List of usage examples for com.liferay.portal.kernel.security.permission ActionKeys VIEW

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.security.permission ActionKeys VIEW.

Prototype

String VIEW

To view the source code for com.liferay.portal.kernel.security.permission ActionKeys VIEW.

Click Source Link

Usage

From source file:com.liferay.journal.service.permission.JournalFolderPermission.java

License:Open Source License

public static boolean contains(PermissionChecker permissionChecker, JournalFolder folder, String actionId) {

    String portletId = PortletProviderUtil.getPortletId(JournalArticle.class.getName(),
            PortletProvider.Action.EDIT);

    if (actionId.equals(ActionKeys.ADD_FOLDER)) {
        actionId = ActionKeys.ADD_SUBFOLDER;
    }// w ww .j a  v a  2 s  .  com

    Boolean hasPermission = StagingPermissionUtil.hasPermission(permissionChecker, folder.getGroupId(),
            JournalFolder.class.getName(), folder.getFolderId(), portletId, actionId);

    if (hasPermission != null) {
        return hasPermission.booleanValue();
    }

    if (actionId.equals(ActionKeys.VIEW) && PropsValues.PERMISSIONS_VIEW_DYNAMIC_INHERITANCE) {

        long folderId = folder.getFolderId();

        while (folderId != JournalFolderConstants.DEFAULT_PARENT_FOLDER_ID) {

            JournalFolder parentFolder = folder;

            folder = _journalFolderLocalService.fetchFolder(folderId);

            if (folder != null) {
                if (!_hasPermission(permissionChecker, folder, actionId)) {
                    return false;
                }
            } else {
                if (parentFolder.isInTrash()) {
                    folder = parentFolder;

                    break;
                } else {
                    _log.error("Unable to get journal folder " + folderId);

                    return false;
                }
            }

            folderId = folder.getParentFolderId();
        }

        return JournalPermission.contains(permissionChecker, folder.getGroupId(), actionId);
    }

    return _hasPermission(permissionChecker, folder, actionId);
}

From source file:com.liferay.journal.service.permission.test.JournalArticlePermissionCheckerTest.java

License:Open Source License

@Test
public void testContains() throws Exception {
    Assert.assertTrue(JournalArticlePermission.contains(permissionChecker, _article, ActionKeys.VIEW));
    Assert.assertTrue(JournalArticlePermission.contains(permissionChecker, _subarticle, ActionKeys.VIEW));

    removePortletModelViewPermission();/*from  www . j  a  va 2 s  .c om*/

    if (_journalServiceConfiguration.articleViewPermissionsCheckEnabled()) {
        Assert.assertFalse(JournalArticlePermission.contains(permissionChecker, _article, ActionKeys.VIEW));
        Assert.assertFalse(JournalArticlePermission.contains(permissionChecker, _subarticle, ActionKeys.VIEW));
    } else {
        Assert.assertTrue(JournalArticlePermission.contains(permissionChecker, _article, ActionKeys.VIEW));
        Assert.assertTrue(JournalArticlePermission.contains(permissionChecker, _subarticle, ActionKeys.VIEW));
    }
}

From source file:com.liferay.journal.service.permission.test.JournalFolderPermissionCheckerTest.java

License:Open Source License

@Test
public void testContains() throws Exception {
    Assert.assertTrue(JournalFolderPermission.contains(permissionChecker, _folder, ActionKeys.VIEW));
    Assert.assertTrue(JournalFolderPermission.contains(permissionChecker, _subfolder, ActionKeys.VIEW));

    removePortletModelViewPermission();//w  w w  .ja va 2  s .c om

    Assert.assertFalse(JournalFolderPermission.contains(permissionChecker, _folder, ActionKeys.VIEW));
    Assert.assertFalse(JournalFolderPermission.contains(permissionChecker, _subfolder, ActionKeys.VIEW));
}

From source file:com.liferay.journal.util.impl.JournalContentImpl.java

License:Open Source License

@Override
public JournalArticleDisplay getDisplay(JournalArticle article, String ddmTemplateKey, String viewMode,
        String languageId, int page, PortletRequestModel portletRequestModel, ThemeDisplay themeDisplay) {

    StopWatch stopWatch = new StopWatch();

    stopWatch.start();// ww w.j  a  v  a2  s  . c o  m

    long groupId = article.getGroupId();
    String articleId = article.getArticleId();
    double version = article.getVersion();

    articleId = StringUtil.toUpperCase(GetterUtil.getString(articleId));
    ddmTemplateKey = StringUtil.toUpperCase(GetterUtil.getString(ddmTemplateKey));

    long layoutSetId = 0;
    boolean secure = false;

    if (themeDisplay != null) {
        try {
            if (!JournalArticlePermission.contains(themeDisplay.getPermissionChecker(), article,
                    ActionKeys.VIEW)) {

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

        LayoutSet layoutSet = themeDisplay.getLayoutSet();

        layoutSetId = layoutSet.getLayoutSetId();

        secure = themeDisplay.isSecure();
    }

    JournalContentKey journalContentKey = new JournalContentKey(groupId, articleId, version, ddmTemplateKey,
            layoutSetId, viewMode, languageId, page, secure);

    JournalArticleDisplay articleDisplay = _portalCache.get(journalContentKey);

    boolean lifecycleRender = false;

    if (portletRequestModel != null) {
        lifecycleRender = RenderRequest.RENDER_PHASE.equals(portletRequestModel.getLifecycle());
    }

    if ((articleDisplay == null) || !lifecycleRender) {
        articleDisplay = getArticleDisplay(article, ddmTemplateKey, viewMode, languageId, page,
                portletRequestModel, themeDisplay);

        if ((articleDisplay != null) && articleDisplay.isCacheable() && lifecycleRender) {

            _portalCache.put(journalContentKey, articleDisplay);
        }
    }

    if (_log.isDebugEnabled()) {
        _log.debug("getDisplay for {" + groupId + ", " + articleId + ", " + ddmTemplateKey + ", " + viewMode
                + ", " + languageId + ", " + page + "} takes " + stopWatch.getTime() + " ms");
    }

    return articleDisplay;
}

From source file:com.liferay.journal.web.asset.JournalArticleAssetRenderer.java

License:Open Source License

@Override
public boolean hasViewPermission(PermissionChecker permissionChecker) throws PortalException {

    return JournalArticlePermission.contains(permissionChecker, _article, ActionKeys.VIEW);
}

From source file:com.liferay.journal.web.asset.JournalArticleAssetRenderer.java

License:Open Source License

protected String getHitLayoutURL(boolean privateLayout, String noSuchEntryRedirect, ThemeDisplay themeDisplay)
        throws PortalException {

    List<Long> hitLayoutIds = JournalContentSearchLocalServiceUtil.getLayoutIds(_article.getGroupId(),
            privateLayout, _article.getArticleId());

    for (Long hitLayoutId : hitLayoutIds) {
        Layout hitLayout = LayoutLocalServiceUtil.getLayout(_article.getGroupId(), privateLayout,
                hitLayoutId.longValue());

        if (LayoutPermissionUtil.contains(themeDisplay.getPermissionChecker(), hitLayout, ActionKeys.VIEW)) {

            return PortalUtil.getLayoutURL(hitLayout, themeDisplay);
        }//w ww .  ja v a2  s .c om
    }

    return noSuchEntryRedirect;
}

From source file:com.liferay.journal.web.asset.JournalArticleAssetRendererFactory.java

License:Open Source License

@Override
public boolean hasAddPermission(PermissionChecker permissionChecker, long groupId, long classTypeId)
        throws Exception {

    if (classTypeId == 0) {
        return false;
    }/*w w w.  j  ava  2 s  .com*/

    if (!DDMStructurePermission.contains(permissionChecker, classTypeId, ActionKeys.VIEW)) {

        return false;
    }

    return JournalPermission.contains(permissionChecker, groupId, ActionKeys.ADD_ARTICLE);
}

From source file:com.liferay.journal.web.asset.JournalFolderAssetRenderer.java

License:Open Source License

@Override
public boolean hasViewPermission(PermissionChecker permissionChecker) throws PortalException {

    return JournalFolderPermission.contains(permissionChecker, _folder, ActionKeys.VIEW);
}

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

License:Open Source License

public static JournalFolder getFolder(HttpServletRequest request) throws PortalException {

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

    long folderId = ParamUtil.getLong(request, "folderId");

    JournalFolder folder = null;//from   ww  w. j av a  2s.c o  m

    if ((folderId > 0) && (folderId != JournalFolderConstants.DEFAULT_PARENT_FOLDER_ID)) {

        folder = JournalFolderServiceUtil.fetchFolder(folderId);
    } else {
        JournalPermission.check(themeDisplay.getPermissionChecker(), themeDisplay.getScopeGroupId(),
                ActionKeys.VIEW);
    }

    return folder;
}

From source file:com.liferay.layout.page.template.service.impl.LayoutPageTemplateCollectionServiceImpl.java

License:Open Source License

@Override
public LayoutPageTemplateCollection fetchLayoutPageTemplateCollection(long layoutPageTemplateCollectionId)
        throws PortalException {

    LayoutPageTemplateCollection layoutPageTemplateCollection = layoutPageTemplateCollectionLocalService
            .fetchLayoutPageTemplateCollection(layoutPageTemplateCollectionId);

    if (layoutPageTemplateCollection != null) {
        _layoutPageTemplateCollectionModelResourcePermission.check(getPermissionChecker(),
                layoutPageTemplateCollection, ActionKeys.VIEW);
    }//from ww  w  .  jav a 2  s.co  m

    return layoutPageTemplateCollection;
}