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

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

Introduction

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

Prototype

String UPDATE

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

Click Source Link

Usage

From source file:com.liferay.journal.service.impl.JournalFolderServiceImpl.java

License:Open Source License

@Override
public void restoreFolderFromTrash(long folderId) throws PortalException {
    JournalFolder folder = journalFolderLocalService.getFolder(folderId);

    JournalFolderPermission.check(getPermissionChecker(), folder, ActionKeys.UPDATE);

    journalFolderLocalService.restoreFolderFromTrash(getUserId(), folderId);
}

From source file:com.liferay.journal.service.impl.JournalFolderServiceImpl.java

License:Open Source License

@Override
public JournalFolder updateFolder(long groupId, long folderId, long parentFolderId, String name,
        String description, boolean mergeWithParentFolder, ServiceContext serviceContext)
        throws PortalException {

    JournalFolder folder = journalFolderLocalService.getFolder(folderId);

    JournalFolderPermission.check(getPermissionChecker(), folder, ActionKeys.UPDATE);

    return journalFolderLocalService.updateFolder(getUserId(), groupId, folderId, parentFolderId, name,
            description, mergeWithParentFolder, serviceContext);
}

From source file:com.liferay.journal.service.impl.JournalFolderServiceImpl.java

License:Open Source License

@Override
public JournalFolder updateFolder(long groupId, long folderId, long parentFolderId, String name,
        String description, long[] ddmStructureIds, int restrictionType, boolean mergeWithParentFolder,
        ServiceContext serviceContext) throws PortalException {

    JournalFolderPermission.check(getPermissionChecker(), groupId, folderId, ActionKeys.UPDATE);

    return journalFolderLocalService.updateFolder(getUserId(), groupId, folderId, parentFolderId, name,
            description, ddmStructureIds, restrictionType, mergeWithParentFolder, serviceContext);
}

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();
    }/*  ww w.jav  a  2  s  .c o m*/

    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);
}

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

License:Open Source License

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

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

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

License:Open Source License

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

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

From source file:com.liferay.journal.web.internal.display.context.JournalMoveEntriesDisplayContext.java

License:Open Source License

public void processArticles(List<JournalArticle> articles) throws PortalException {

    _validMoveArticles = new ArrayList<>();
    _invalidMoveArticles = new ArrayList<>();

    for (JournalArticle curArticle : articles) {
        boolean hasUpdatePermission = JournalArticlePermission.contains(getPermissionChecker(), curArticle,
                ActionKeys.UPDATE);

        if (hasUpdatePermission) {
            _validMoveArticles.add(curArticle);
        } else {/* w w  w . j a v  a  2 s . c om*/
            _invalidMoveArticles.add(curArticle);
        }
    }
}

From source file:com.liferay.journal.web.internal.display.context.JournalMoveEntriesDisplayContext.java

License:Open Source License

public void processFolders(List<JournalFolder> folders) throws PortalException {

    _validMoveFolders = new ArrayList<>();
    _invalidMoveFolders = new ArrayList<>();

    for (JournalFolder curFolder : folders) {
        boolean hasUpdatePermission = JournalFolderPermission.contains(getPermissionChecker(), curFolder,
                ActionKeys.UPDATE);

        if (hasUpdatePermission) {
            _validMoveFolders.add(curFolder);
        } else {//  ww w  .ja  v  a  2s  . c  o m
            _invalidMoveFolders.add(curFolder);
        }
    }
}

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

License:Open Source License

@Override
public String getRowCheckBox(HttpServletRequest request, boolean checked, boolean disabled, String primaryKey) {

    if (!_journalDisplayContext.isShowEditActions()) {
        return StringPool.BLANK;
    }//from   www .  ja v  a 2 s . c o m

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

    JournalFolder folder = null;

    String articleId = GetterUtil.getString(primaryKey);

    JournalArticle article = JournalArticleLocalServiceUtil.fetchArticle(themeDisplay.getScopeGroupId(),
            articleId);

    if (article == null) {
        long folderId = GetterUtil.getLong(primaryKey);

        folder = JournalFolderLocalServiceUtil.fetchFolder(folderId);
    }

    String name = null;
    boolean showInput = false;

    if (article != null) {
        name = JournalArticle.class.getSimpleName();

        try {
            if (JournalArticlePermission.contains(_permissionChecker, article, ActionKeys.DELETE)
                    || JournalArticlePermission.contains(_permissionChecker, article, ActionKeys.EXPIRE)
                    || JournalArticlePermission.contains(_permissionChecker, article, ActionKeys.UPDATE)) {

                showInput = true;
            }
        } catch (Exception e) {
        }
    } else if (folder != null) {
        name = JournalFolder.class.getSimpleName();

        try {
            if (JournalFolderPermission.contains(_permissionChecker, folder, ActionKeys.DELETE)) {

                showInput = true;
            }
        } catch (Exception e) {
        }
    }

    if (!showInput) {
        return StringPool.BLANK;
    }

    StringBundler sb = new StringBundler(9);

    sb.append("['");
    sb.append(_liferayPortletResponse.getNamespace());
    sb.append(RowChecker.ROW_IDS);
    sb.append(JournalFolder.class.getSimpleName());
    sb.append("', '");
    sb.append(_liferayPortletResponse.getNamespace());
    sb.append(RowChecker.ROW_IDS);
    sb.append(JournalArticle.class.getSimpleName());
    sb.append("']");

    String checkBoxRowIds = sb.toString();

    return getRowCheckBox(request, checked, disabled,
            _liferayPortletResponse.getNamespace() + RowChecker.ROW_IDS + name + StringPool.BLANK, primaryKey,
            checkBoxRowIds, "'#" + getAllRowIds() + "'", StringPool.BLANK);
}

From source file:com.liferay.journal.web.social.JournalArticleActivityInterpreter.java

License:Open Source License

@Override
protected boolean hasPermissions(PermissionChecker permissionChecker, SocialActivity activity, String actionId,
        ServiceContext serviceContext) throws Exception {

    int activityType = activity.getType();

    if (activityType == JournalActivityKeys.ADD_ARTICLE) {
        JournalArticle article = _journalArticleLocalService.getLatestArticle(activity.getClassPK());

        return JournalFolderPermission.contains(permissionChecker, article.getGroupId(), article.getFolderId(),
                ActionKeys.ADD_ARTICLE);
    } else if (activityType == JournalActivityKeys.UPDATE_ARTICLE) {
        return JournalArticlePermission.contains(permissionChecker, activity.getClassPK(), ActionKeys.UPDATE);
    }//w w  w  . j av  a2 s  . c  om

    return JournalArticlePermission.contains(permissionChecker, activity.getClassPK(), actionId);
}