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

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

Introduction

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

Prototype

String PUBLISH_STAGING

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

Click Source Link

Usage

From source file:com.liferay.exportimport.staging.StagingImpl.java

License:Open Source License

@Override
public Group getPermissionStagingGroup(Group group) {
    if (group == null) {
        return null;
    }/*www  .  j av  a2  s . co  m*/

    Group stagingGroup = group;

    if (!group.isStagedRemotely() && group.hasStagingGroup()) {
        try {
            PermissionChecker permissionChecker = PermissionThreadLocal.getPermissionChecker();

            long scopeGroupId = stagingGroup.getGroupId();

            boolean hasManageStagingPermission = GroupPermissionUtil.contains(permissionChecker, scopeGroupId,
                    ActionKeys.MANAGE_STAGING);
            boolean hasPublishStagingPermission = GroupPermissionUtil.contains(permissionChecker, scopeGroupId,
                    ActionKeys.PUBLISH_STAGING);
            boolean hasViewStagingPermission = GroupPermissionUtil.contains(permissionChecker, scopeGroupId,
                    ActionKeys.VIEW_STAGING);

            if (hasManageStagingPermission || hasPublishStagingPermission || hasViewStagingPermission) {

                stagingGroup = group.getStagingGroup();
            }
        } catch (Exception e) {
        }
    }

    return stagingGroup;
}

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);
    }//from  ww  w.  j a  v a2s . co  m

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

From source file:com.liferay.product.navigation.site.administration.internal.display.context.SiteAdministrationPanelCategoryDisplayContext.java

License:Open Source License

protected boolean hasStagingPermission() throws PortalException {
    if (!GroupPermissionUtil.contains(_themeDisplay.getPermissionChecker(), getGroup(),
            ActionKeys.MANAGE_STAGING)) {

        return false;
    }/*from  www.j  a  va 2  s.c o m*/

    if (!GroupPermissionUtil.contains(_themeDisplay.getPermissionChecker(), getGroup(),
            ActionKeys.PUBLISH_STAGING)) {

        return false;
    }

    if (!GroupPermissionUtil.contains(_themeDisplay.getPermissionChecker(), getGroup(),
            ActionKeys.VIEW_STAGING)) {

        return false;
    }

    return true;
}