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

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

Introduction

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

Prototype

String MANAGE_STAGING

To view the source code for com.liferay.portal.kernel.security.permission ActionKeys MANAGE_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;
    }//from   ww  w . j a  v a 2 s.c  o 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.exportimport.staging.StagingImpl.java

License:Open Source License

/**
 * @deprecated As of 4.0.0, replaced by {@link
 *             com.liferay.staging.configuration.web.internal.portlet.StagingConfigurationPortlet#editStagingConfiguration(
 *             javax.portlet.ActionRequest, javax.portlet.ActionResponse)}
 *///from  w  w  w .ja  va  2  s.c o m
@Deprecated
@Override
public void updateStaging(PortletRequest portletRequest, Group liveGroup) throws PortalException {

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

    PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

    long userId = permissionChecker.getUserId();

    if (!GroupPermissionUtil.contains(permissionChecker, liveGroup, ActionKeys.MANAGE_STAGING)) {

        return;
    }

    int stagingType = getStagingType(portletRequest, liveGroup);

    boolean branchingPublic = getBoolean(portletRequest, liveGroup, "branchingPublic");
    boolean branchingPrivate = getBoolean(portletRequest, liveGroup, "branchingPrivate");
    boolean forceDisable = ParamUtil.getBoolean(portletRequest, "forceDisable");

    ServiceContext serviceContext = ServiceContextThreadLocal.getServiceContext();

    serviceContext.setAttribute("forceDisable", forceDisable);

    if (stagingType == StagingConstants.TYPE_NOT_STAGED) {
        if (liveGroup.hasStagingGroup() || liveGroup.isStagedRemotely()) {
            _stagingLocalService.disableStaging(portletRequest, liveGroup, serviceContext);
        }
    } else if (stagingType == StagingConstants.TYPE_LOCAL_STAGING) {
        _stagingLocalService.enableLocalStaging(userId, liveGroup, branchingPublic, branchingPrivate,
                serviceContext);
    } else if (stagingType == StagingConstants.TYPE_REMOTE_STAGING) {
        String remoteAddress = getString(portletRequest, liveGroup, "remoteAddress");

        remoteAddress = stripProtocolFromRemoteAddress(remoteAddress);

        int remotePort = getInteger(portletRequest, liveGroup, "remotePort");
        String remotePathContext = getString(portletRequest, liveGroup, "remotePathContext");
        boolean secureConnection = getBoolean(portletRequest, liveGroup, "secureConnection");
        long remoteGroupId = getLong(portletRequest, liveGroup, "remoteGroupId");

        _stagingLocalService.enableRemoteStaging(userId, liveGroup, branchingPublic, branchingPrivate,
                remoteAddress, remotePort, remotePathContext, secureConnection, remoteGroupId, serviceContext);
    }
}

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  a 2 s .c  o  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   w w w .  j  ava  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;
}

From source file:com.liferay.staging.processes.web.internal.portlet.configuration.icon.StagingConfigurationPortletConfigurationIcon.java

License:Open Source License

@Override
public boolean isShow(PortletRequest portletRequest) {
    boolean showStagingConfiguration = GetterUtil
            .getBoolean(portletRequest.getParameter("showStagingConfiguration"));

    if (showStagingConfiguration) {
        return false;
    }//from  w ww . jav a2s  .  com

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

    Group group = themeDisplay.getScopeGroup();

    if (!group.isStaged()) {
        return false;
    }

    User user = themeDisplay.getUser();

    if (user.isDefaultUser()) {
        return false;
    }

    Group liveGroup = StagingUtil.getLiveGroup(group.getGroupId());

    try {
        return GroupPermissionUtil.contains(themeDisplay.getPermissionChecker(), liveGroup,
                ActionKeys.MANAGE_STAGING);
    } catch (PortalException pe) {

        // LPS-52675

        if (_log.isDebugEnabled()) {
            _log.debug(pe, pe);
        }

        return false;
    }
}

From source file:com.liferay.users.admin.web.internal.portlet.configuration.icon.ManageSitePortletConfigurationIcon.java

License:Open Source License

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

    try {//from  w w w .  j  av  a 2s.  c o m
        PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

        Organization organization = ActionUtil.getOrganization(portletRequest);

        Group organizationGroup = organization.getGroup();

        if (organizationGroup.isSite() && (GroupPermissionUtil.contains(permissionChecker, organizationGroup,
                ActionKeys.MANAGE_STAGING)
                || OrganizationPermissionUtil.contains(permissionChecker, organization, ActionKeys.UPDATE))) {

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

    return false;
}