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

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

Introduction

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

Prototype

String ACCESS

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

Click Source Link

Usage

From source file:com.liferay.bookmarks.service.permission.BookmarksEntryPermissionChecker.java

License:Open Source License

public static boolean contains(PermissionChecker permissionChecker, BookmarksEntry entry, String actionId)
        throws PortalException {

    Boolean hasPermission = StagingPermissionUtil.hasPermission(permissionChecker, entry.getGroupId(),
            BookmarksEntry.class.getName(), entry.getEntryId(), BookmarksPortletKeys.BOOKMARKS, actionId);

    if (hasPermission != null) {
        return hasPermission.booleanValue();
    }//from   www .j a  v a2s.c om

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

        long folderId = entry.getFolderId();

        if (folderId == BookmarksFolderConstants.DEFAULT_PARENT_FOLDER_ID) {
            if (!BookmarksResourcePermissionChecker.contains(permissionChecker, entry.getGroupId(), actionId)) {

                return false;
            }
        } else {
            try {
                BookmarksFolder folder = _bookmarksFolderLocalService.getFolder(folderId);

                if (!BookmarksFolderPermissionChecker.contains(permissionChecker, folder, ActionKeys.ACCESS)
                        && !BookmarksFolderPermissionChecker.contains(permissionChecker, folder,
                                ActionKeys.VIEW)) {

                    return false;
                }
            } catch (NoSuchFolderException nsfe) {
                if (!entry.isInTrash()) {
                    throw nsfe;
                }
            }
        }
    }

    if (permissionChecker.hasOwnerPermission(entry.getCompanyId(), BookmarksEntry.class.getName(),
            entry.getEntryId(), entry.getUserId(), actionId)) {

        return true;
    }

    return permissionChecker.hasPermission(entry.getGroupId(), BookmarksEntry.class.getName(),
            entry.getEntryId(), actionId);
}

From source file:com.liferay.bookmarks.subscription.test.BookmarksSubscriptionBaseModelTest.java

License:Open Source License

@Override
protected void removeContainerModelResourceViewPermission() throws Exception {

    List<String> actionIds = new ArrayList<>(2);

    actionIds.add(ActionKeys.ACCESS);
    actionIds.add(ActionKeys.VIEW);/*from   www. j  a v  a2  s  .  co m*/

    ResourceBlockPermissionTestUtil.removeResourceBlockPermissions(_folder.getCompanyId(), _folder.getGroupId(),
            BookmarksPortletKeys.BOOKMARKS, BookmarksFolder.class.getName(), _folder.getFolderId(),
            new String[] { RoleConstants.GUEST, RoleConstants.SITE_MEMBER }, actionIds);
}

From source file:com.liferay.exportimport.internal.staging.permission.StagingPermissionImpl.java

License:Open Source License

protected Boolean doHasPermission(PermissionChecker permissionChecker, Group group, String className,
        long classPK, String portletId, String actionId) throws Exception {

    if (!PropsValues.STAGING_LIVE_GROUP_LOCKING_ENABLED) {
        return null;
    }/*from w  w w .ja  va  2 s .  com*/

    if (!actionId.equals(ActionKeys.ACCESS) && !actionId.equals(ActionKeys.ACCESS_IN_CONTROL_PANEL)
            && !actionId.equals(ActionKeys.ADD_TO_PAGE) && !actionId.equals(ActionKeys.ASSIGN_MEMBERS)
            && !actionId.equals(ActionKeys.CONFIGURATION) && !actionId.equals(ActionKeys.CUSTOMIZE)
            && !actionId.equals(ActionKeys.DELETE) && !actionId.equals(ActionKeys.VIEW)
            && group.hasLocalOrRemoteStagingGroup()
            && (Validator.isNull(portletId) || group.isStagedPortlet(portletId))) {

        return false;
    } else {
        return null;
    }
}

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

License:Open Source License

private static boolean _contains(PermissionChecker permissionChecker, JournalArticle article, String actionId) {

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

    Boolean hasPermission = StagingPermissionUtil.hasPermission(permissionChecker, article.getGroupId(),
            JournalArticle.class.getName(), article.getResourcePrimKey(), portletId, actionId);

    if (hasPermission != null) {
        return hasPermission.booleanValue();
    }/*w ww.  j av  a 2s .  c om*/

    if (article.isDraft()) {
        if (actionId.equals(ActionKeys.VIEW) && !contains(permissionChecker, article, ActionKeys.UPDATE)) {

            return false;
        }
    } else if (article.isPending()) {
        hasPermission = WorkflowPermissionUtil.hasPermission(permissionChecker, article.getGroupId(),
                JournalArticle.class.getName(), article.getResourcePrimKey(), actionId);

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

    if (actionId.equals(ActionKeys.VIEW)) {
        JournalServiceConfiguration journalServiceConfiguration = null;

        try {
            journalServiceConfiguration = _configurationProvider.getCompanyConfiguration(
                    JournalServiceConfiguration.class, permissionChecker.getCompanyId());
        } catch (ConfigurationException ce) {
            _log.error("Unable to get journal service configuration for company "
                    + permissionChecker.getCompanyId(), ce);

            return false;
        }

        if (!journalServiceConfiguration.articleViewPermissionsCheckEnabled()) {

            return true;
        }

        if (PropsValues.PERMISSIONS_VIEW_DYNAMIC_INHERITANCE) {
            long folderId = article.getFolderId();

            if (folderId == JournalFolderConstants.DEFAULT_PARENT_FOLDER_ID) {

                if (!JournalPermission.contains(permissionChecker, article.getGroupId(), actionId)) {

                    return false;
                }
            } else {
                JournalFolder folder = _journalFolderLocalService.fetchFolder(folderId);

                if (folder != null) {
                    if (!JournalFolderPermission.contains(permissionChecker, folder, ActionKeys.ACCESS)
                            && !JournalFolderPermission.contains(permissionChecker, folder, ActionKeys.VIEW)) {

                        return false;
                    }
                } else {
                    if (!article.isInTrash()) {
                        _log.error("Unable to get journal folder " + folderId);

                        return false;
                    }
                }
            }
        }
    }

    if (permissionChecker.hasOwnerPermission(article.getCompanyId(), JournalArticle.class.getName(),
            article.getResourcePrimKey(), article.getUserId(), actionId)) {

        return true;
    }

    return permissionChecker.hasPermission(article.getGroupId(), JournalArticle.class.getName(),
            article.getResourcePrimKey(), actionId);
}