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

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

Introduction

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

Prototype

String DELETE

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

Click Source Link

Usage

From source file:com.liferay.wiki.service.impl.WikiPageServiceImpl.java

License:Open Source License

@Override
public FileEntry movePageAttachmentToTrash(long nodeId, String title, String fileName) throws PortalException {

    WikiPagePermissionChecker.check(getPermissionChecker(), nodeId, title, ActionKeys.DELETE);

    return wikiPageLocalService.movePageAttachmentToTrash(getUserId(), nodeId, title, fileName);
}

From source file:com.liferay.wiki.service.impl.WikiPageServiceImpl.java

License:Open Source License

@Override
public WikiPage movePageToTrash(long nodeId, String title) throws PortalException {

    WikiPagePermissionChecker.check(getPermissionChecker(), nodeId, title, ActionKeys.DELETE);

    return wikiPageLocalService.movePageToTrash(getUserId(), nodeId, title);
}

From source file:com.liferay.wiki.service.impl.WikiPageServiceImpl.java

License:Open Source License

@Override
public WikiPage movePageToTrash(long nodeId, String title, double version) throws PortalException {

    WikiPagePermissionChecker.check(getPermissionChecker(), nodeId, title, version, ActionKeys.DELETE);

    return wikiPageLocalService.movePageToTrash(getUserId(), nodeId, title, version);
}

From source file:com.liferay.wiki.service.impl.WikiPageServiceImpl.java

License:Open Source License

@Override
public void renamePage(long nodeId, String title, String newTitle, ServiceContext serviceContext)
        throws PortalException {

    WikiPagePermissionChecker.check(getPermissionChecker(), nodeId, title, ActionKeys.DELETE);

    WikiNodePermissionChecker.check(getPermissionChecker(), nodeId, ActionKeys.ADD_PAGE);

    wikiPageLocalService.renamePage(getUserId(), nodeId, title, newTitle, serviceContext);
}

From source file:com.liferay.wiki.service.impl.WikiPageServiceImpl.java

License:Open Source License

@Override
public void restorePageFromTrash(long resourcePrimKey) throws PortalException {

    WikiPage page = wikiPageLocalService.getPage(resourcePrimKey);

    WikiPagePermissionChecker.check(getPermissionChecker(), page, ActionKeys.DELETE);

    wikiPageLocalService.restorePageFromTrash(getUserId(), page);
}

From source file:com.liferay.wiki.service.permission.WikiPagePermissionChecker.java

License:Open Source License

public static boolean contains(PermissionChecker permissionChecker, WikiPage page, String actionId) {

    Boolean hasPermission = StagingPermissionUtil.hasPermission(permissionChecker, page.getGroupId(),
            WikiPage.class.getName(), page.getPageId(), WikiPortletKeys.WIKI, actionId);

    if (hasPermission != null) {
        return hasPermission.booleanValue();
    }/*from   w  w  w.j  a v a  2 s.com*/

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

            return false;
        }

        if (actionId.equals(ActionKeys.DELETE) && (page.getStatusByUserId() == permissionChecker.getUserId())) {

            return true;
        }
    } else if (page.isPending()) {
        hasPermission = WorkflowPermissionUtil.hasPermission(permissionChecker, page.getGroupId(),
                WikiPage.class.getName(), page.getResourcePrimKey(), actionId);

        if ((hasPermission != null) && hasPermission.booleanValue()) {
            return true;
        }
    } else if (page.isScheduled()) {
        if (actionId.equals(ActionKeys.VIEW) && !contains(permissionChecker, page, ActionKeys.UPDATE)) {

            return false;
        }
    }

    if (actionId.equals(ActionKeys.VIEW)) {
        WikiPage redirectPage = page.fetchRedirectPage();

        if (redirectPage != null) {
            page = redirectPage;
        }

        if (PropsValues.PERMISSIONS_VIEW_DYNAMIC_INHERITANCE) {
            WikiNode node = page.getNode();

            if (!WikiNodePermissionChecker.contains(permissionChecker, node, actionId)) {

                return false;
            }

            while (page != null) {
                if (!_hasPermission(permissionChecker, page, actionId)) {
                    return false;
                }

                page = page.fetchParentPage();
            }

            return true;
        }
    }

    return _hasPermission(permissionChecker, page, actionId);
}

From source file:com.liferay.wiki.trash.WikiPageTrashHandler.java

License:Open Source License

@Override
public boolean hasTrashPermission(PermissionChecker permissionChecker, long groupId, long classPK,
        String trashActionId) throws PortalException {

    if (trashActionId.equals(TrashActionKeys.MOVE)) {
        WikiPage page = _wikiPageLocalService.fetchLatestPage(classPK, WorkflowConstants.STATUS_ANY, true);

        if (page != null) {
            WikiPagePermissionChecker.check(permissionChecker, page.getNodeId(), page.getTitle(),
                    ActionKeys.DELETE);

            classPK = page.getNodeId();/*from  w  ww  . j a va  2  s .c  o  m*/
        }

        return WikiNodePermissionChecker.contains(permissionChecker, classPK, ActionKeys.ADD_PAGE);
    }

    return super.hasTrashPermission(permissionChecker, groupId, classPK, trashActionId);
}

From source file:com.liferay.wiki.web.internal.asset.WikiPageAssetRenderer.java

License:Open Source License

public boolean hasDeletePermission(PermissionChecker permissionChecker) throws PortalException {

    return WikiPagePermission.contains(permissionChecker, _page, ActionKeys.DELETE);
}

From source file:com.liferay.wiki.web.internal.display.context.DefaultWikiListPagesDisplayContext.java

License:Open Source License

protected void addDeleteMenuItem(List<MenuItem> menuItems, WikiPage wikiPage) throws PortalException {

    if (!wikiPage.isDraft() && WikiPagePermissionChecker.contains(_wikiRequestHelper.getPermissionChecker(),
            wikiPage.getNodeId(), HtmlUtil.unescape(wikiPage.getTitle()), ActionKeys.DELETE)) {

        DeleteMenuItem deleteMenuItem = new DeleteMenuItem();

        deleteMenuItem.setKey(WikiUIItemKeys.DELETE);
        deleteMenuItem.setTrash(TrashUtil.isTrashEnabled(_wikiRequestHelper.getScopeGroupId()));

        LiferayPortletResponse liferayPortletResponse = _wikiRequestHelper.getLiferayPortletResponse();

        PortletURL portletURL = liferayPortletResponse.createActionURL();

        portletURL.setParameter(ActionRequest.ACTION_NAME, "/wiki/edit_page");

        String cmd = Constants.DELETE;

        if (TrashUtil.isTrashEnabled(_wikiRequestHelper.getScopeGroupId())) {

            cmd = Constants.MOVE_TO_TRASH;
        }/* ww  w . j av a2  s . c o  m*/

        portletURL.setParameter(Constants.CMD, cmd);

        portletURL.setParameter("redirect", _wikiRequestHelper.getCurrentURL());
        portletURL.setParameter("nodeId", String.valueOf(wikiPage.getNodeId()));
        portletURL.setParameter("title", HtmlUtil.unescape(wikiPage.getTitle()));

        deleteMenuItem.setURL(portletURL.toString());

        menuItems.add(deleteMenuItem);
    }

    if (wikiPage.isDraft() && WikiPagePermissionChecker.contains(_wikiRequestHelper.getPermissionChecker(),
            wikiPage, ActionKeys.DELETE)) {

        URLMenuItem urlMenuItem = new URLMenuItem();

        urlMenuItem.setKey(WikiUIItemKeys.DELETE);
        urlMenuItem.setLabel("discard-draft");

        LiferayPortletResponse liferayPortletResponse = _wikiRequestHelper.getLiferayPortletResponse();

        PortletURL portletURL = liferayPortletResponse.createActionURL();

        portletURL.setParameter(ActionRequest.ACTION_NAME, "/wiki/edit_page");
        portletURL.setParameter(Constants.CMD, Constants.DELETE);
        portletURL.setParameter("redirect", _wikiRequestHelper.getCurrentURL());
        portletURL.setParameter("nodeId", String.valueOf(wikiPage.getNodeId()));
        portletURL.setParameter("title", HtmlUtil.unescape(wikiPage.getTitle()));
        portletURL.setParameter("version", String.valueOf(wikiPage.getVersion()));

        urlMenuItem.setURL(portletURL.toString());

        menuItems.add(urlMenuItem);
    }
}

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

License:Open Source License

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

    try {//from  ww  w  . j  a v a  2s.c om
        WikiNode node = ActionUtil.getNode(portletRequest);

        if (WikiNodePermissionChecker.contains(themeDisplay.getPermissionChecker(), node, ActionKeys.DELETE)
                && (_wikiNodeService.getNodesCount(themeDisplay.getScopeGroupId()) > 1)) {

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

    return false;
}