Example usage for com.liferay.portal.kernel.model ResourceConstants SCOPE_COMPANY

List of usage examples for com.liferay.portal.kernel.model ResourceConstants SCOPE_COMPANY

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.model ResourceConstants SCOPE_COMPANY.

Prototype

int SCOPE_COMPANY

To view the source code for com.liferay.portal.kernel.model ResourceConstants SCOPE_COMPANY.

Click Source Link

Usage

From source file:com.liferay.announcements.web.internal.upgrade.v1_0_2.UpgradePermission.java

License:Open Source License

protected void upgradeResourcePermission(String name) throws Exception {
    StringBundler sb1 = new StringBundler(4);

    sb1.append("select resourceActionId, bitwiseValue from ");
    sb1.append("ResourceAction where actionId = 'ADD_ENTRY' and name = '");
    sb1.append(name);/* ww w .  j a  v  a  2 s .  c  o  m*/
    sb1.append("'");

    StringBundler sb2 = new StringBundler(5);

    sb2.append("select resourcePermissionId, companyId, scope, primKey, ");
    sb2.append("primKeyId, roleId, actionIds from ResourcePermission ");
    sb2.append("where name = '");
    sb2.append(name);
    sb2.append("'");

    try (PreparedStatement ps1 = connection.prepareStatement(sb1.toString());
            ResultSet rs1 = ps1.executeQuery()) {

        if (!rs1.next()) {
            if (!_ignoreMissingAddEntryResourceAction) {
                _log.error(StringBundler.concat("Unable to upgrade ADD_ENTRY action, ", "ResourceAction for ",
                        name, " is not initialized"));
            }

            return;
        }

        long resourceActionId = rs1.getLong("resourceActionId");
        long bitwiseValue = rs1.getLong("bitwiseValue");

        try (PreparedStatement ps2 = connection.prepareStatement(sb2.toString());
                ResultSet rs = ps2.executeQuery()) {

            while (rs.next()) {
                long resourcePermissionId = rs.getLong("resourcePermissionId");
                long companyId = rs.getLong("companyId");
                int scope = rs.getInt("scope");
                String primKey = rs.getString("primKey");
                long primKeyId = rs.getLong("primKeyId");
                long roleId = rs.getLong("roleId");
                long actionIds = rs.getLong("actionIds");

                if ((bitwiseValue & actionIds) == 0) {
                    continue;
                }

                updateResourcePermission(resourcePermissionId, actionIds - bitwiseValue);

                if (scope == ResourceConstants.SCOPE_INDIVIDUAL) {
                    if (primKey.contains("_LAYOUT_")) {
                        primKey = String.valueOf(companyId);
                        primKeyId = companyId;
                        scope = ResourceConstants.SCOPE_COMPANY;
                    } else {
                        continue;
                    }
                }

                addAnnouncementsAdminViewResourcePermission(companyId, scope, primKey, primKeyId, roleId);
            }
        }

        deleteResourceAction(resourceActionId);
    }
}

From source file:com.liferay.application.list.my.account.permissions.internal.PanelAppMyAccountPermissions.java

License:Open Source License

private void _initPermissions(long companyId, String portletId, String rootPortletId, Role userRole,
        List<String> actionIds) throws Exception {

    PortletPreferences portletPreferences = _portletPreferencesFactory.getLayoutPortletSetup(companyId,
            companyId, PortletKeys.PREFS_OWNER_TYPE_COMPANY, LayoutConstants.DEFAULT_PLID, portletId,
            PortletConstants.DEFAULT_PREFERENCES);

    if (_prefsProps.getBoolean(portletPreferences, "myAccountAccessInControlPanelPermissionsInitialized")) {

        return;//from w  ww  .  j  a va 2  s .co m
    }

    if (actionIds.contains(ActionKeys.ACCESS_IN_CONTROL_PANEL)) {
        _resourcePermissionLocalService.addResourcePermission(companyId, rootPortletId,
                ResourceConstants.SCOPE_COMPANY, String.valueOf(companyId), userRole.getRoleId(),
                ActionKeys.ACCESS_IN_CONTROL_PANEL);
    }

    portletPreferences.setValue("myAccountAccessInControlPanelPermissionsInitialized", StringPool.TRUE);

    portletPreferences.store();
}

From source file:com.liferay.application.list.my.account.permissions.test.PanelAppMyAccountPermissionsTest.java

License:Open Source License

private boolean _hasMyAccountPermission(long companyId, String portletId) throws Exception {

    Role userRole = RoleLocalServiceUtil.getRole(companyId, RoleConstants.USER);

    return ResourcePermissionLocalServiceUtil.hasResourcePermission(companyId, portletId,
            ResourceConstants.SCOPE_COMPANY, String.valueOf(companyId), userRole.getRoleId(),
            ActionKeys.ACCESS_IN_CONTROL_PANEL);
}

From source file:com.liferay.exportimport.test.LayoutSetPrototypePropagationTest.java

License:Open Source License

@Test
public void testResetPrototypeWithPermissions() throws Exception {
    Role role = RoleTestUtil.addRole(RoleConstants.TYPE_REGULAR);

    RoleLocalServiceUtil.addUserRole(_user1.getUserId(), role);

    ResourcePermissionLocalServiceUtil.addResourcePermission(_user1.getCompanyId(), Group.class.getName(),
            ResourceConstants.SCOPE_COMPANY, String.valueOf(_user1.getCompanyId()), role.getRoleId(),
            ActionKeys.UPDATE);/*from w  w  w  .j  a  v a  2 s  .  c  o m*/

    PermissionChecker permissionChecker = PermissionCheckerFactoryUtil.create(_user1);

    PermissionThreadLocal.setPermissionChecker(permissionChecker);

    Group userGroup = GroupLocalServiceUtil.getUserGroup(_user2.getCompanyId(), _user2.getUserId());

    LayoutSet layoutSet = LayoutSetLocalServiceUtil.getLayoutSet(userGroup.getGroupId(), true);

    SitesUtil.resetPrototype(layoutSet);
}

From source file:com.liferay.roles.admin.internal.exportimport.data.handler.ImportExportPermissionConversionFilter.java

License:Open Source License

@Override
public boolean accept(Role role, ResourcePermission resourcePermission) {
    int scope = resourcePermission.getScope();

    if ((scope == ResourceConstants.SCOPE_COMPANY) || (scope == ResourceConstants.SCOPE_GROUP_TEMPLATE)) {

        return true;
    } else if (resourcePermission.getScope() == ResourceConstants.SCOPE_GROUP) {

        Group group = GroupLocalServiceUtil.fetchGroup(Long.valueOf(resourcePermission.getPrimKey()));

        if (group.isCompany() || group.isUserPersonalSite()) {
            return true;
        }/*from ww w.j a  v a2  s  .c o m*/
    }

    return false;
}

From source file:com.liferay.roles.admin.internal.exportimport.data.handler.RoleStagedModelDataHandler.java

License:Open Source License

protected void deleteRolePermissions(PortletDataContext portletDataContext, Role importedRole) {

    List<ResourcePermission> resourcePermissions = _resourcePermissionLocalService.getRoleResourcePermissions(
            importedRole.getRoleId(),//from   ww  w  . j  a v  a2s . com
            new int[] { ResourceConstants.SCOPE_COMPANY, ResourceConstants.SCOPE_GROUP_TEMPLATE },
            QueryUtil.ALL_POS, QueryUtil.ALL_POS);

    for (ResourcePermission resourcePermission : resourcePermissions) {
        _resourcePermissionLocalService.deleteResourcePermission(resourcePermission);
    }

    List<ResourcePermission> groupResourcePermissions = _resourcePermissionLocalService
            .getRoleResourcePermissions(importedRole.getRoleId(), new int[] { ResourceConstants.SCOPE_GROUP },
                    QueryUtil.ALL_POS, QueryUtil.ALL_POS);

    for (ResourcePermission groupResourcePermission : groupResourcePermissions) {

        long groupId = GetterUtil.getLong(groupResourcePermission.getPrimKey());

        if ((groupId == portletDataContext.getCompanyGroupId())
                || (groupId == portletDataContext.getUserPersonalSiteGroupId())) {

            _resourcePermissionLocalService.deleteResourcePermission(groupResourcePermission);
        }
    }
}

From source file:com.liferay.roles.admin.internal.exportimport.data.handler.RoleStagedModelDataHandler.java

License:Open Source License

protected void importResourcePermissions(PortletDataContext portletDataContext, Role importedRole,
        Permission permission) throws PortalException {

    int scope = permission.getScope();

    if (scope == ResourceConstants.SCOPE_COMPANY) {
        _resourcePermissionService.addResourcePermission(portletDataContext.getCompanyGroupId(),
                portletDataContext.getCompanyId(), permission.getName(), scope,
                String.valueOf(portletDataContext.getCompanyId()), importedRole.getRoleId(),
                permission.getActionId());
    } else if (scope == ResourceConstants.SCOPE_GROUP) {
        long groupId = portletDataContext.getCompanyGroupId();

        long primaryKey = groupId;

        long sourceGroupId = GetterUtil.getLong(permission.getPrimKey());

        if (sourceGroupId == portletDataContext.getSourceUserPersonalSiteGroupId()) {

            PermissionChecker permissionChecker = PermissionThreadLocal.getPermissionChecker();

            User user = permissionChecker.getUser();

            groupId = user.getGroupId();

            primaryKey = portletDataContext.getUserPersonalSiteGroupId();
        }/*from   w w w  .ja va 2 s  . c om*/

        _resourcePermissionService.addResourcePermission(groupId, portletDataContext.getCompanyId(),
                permission.getName(), ResourceConstants.SCOPE_GROUP, String.valueOf(primaryKey),
                importedRole.getRoleId(), permission.getActionId());
    } else if (scope == ResourceConstants.SCOPE_GROUP_TEMPLATE) {
        _resourcePermissionService.addResourcePermission(GroupConstants.DEFAULT_PARENT_GROUP_ID,
                portletDataContext.getCompanyId(), permission.getName(), ResourceConstants.SCOPE_GROUP_TEMPLATE,
                String.valueOf(GroupConstants.DEFAULT_PARENT_GROUP_ID), importedRole.getRoleId(),
                permission.getActionId());
    } else {
        if (_log.isDebugEnabled()) {
            _log.debug("Individually scoped permissions are not imported");
        }
    }
}

From source file:com.liferay.roles.admin.web.internal.portlet.RolesAdminPortlet.java

License:Open Source License

public void updateActions(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {

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

    long roleId = ParamUtil.getLong(actionRequest, "roleId");

    Role role = _roleLocalService.getRole(roleId);

    String roleName = role.getName();

    if (roleName.equals(RoleConstants.ADMINISTRATOR)
            || roleName.equals(RoleConstants.ORGANIZATION_ADMINISTRATOR)
            || roleName.equals(RoleConstants.ORGANIZATION_OWNER) || roleName.equals(RoleConstants.OWNER)
            || roleName.equals(RoleConstants.SITE_ADMINISTRATOR) || roleName.equals(RoleConstants.SITE_OWNER)) {

        throw new RolePermissionsException(roleName);
    }//  w  w  w .  j  av a  2  s  .c  o m

    String portletResource = ParamUtil.getString(actionRequest, "portletResource");
    String[] relatedPortletResources = StringUtil
            .split(ParamUtil.getString(actionRequest, "relatedPortletResources"));
    String[] modelResources = StringUtil.split(ParamUtil.getString(actionRequest, "modelResources"));

    Map<String, List<String>> resourceActionsMap = new HashMap<>();

    if (Validator.isNotNull(portletResource)) {
        resourceActionsMap.put(portletResource, ResourceActionsUtil.getResourceActions(portletResource, null));
    }

    for (String relatedPortletResource : relatedPortletResources) {
        resourceActionsMap.put(relatedPortletResource,
                ResourceActionsUtil.getResourceActions(relatedPortletResource, null));
    }

    for (String modelResource : modelResources) {
        resourceActionsMap.put(modelResource, ResourceActionsUtil.getResourceActions(null, modelResource));
    }

    int rootResourceScope = ResourceConstants.SCOPE_COMPANY;
    String[] rootResourceGroupIds = null;

    String[] selectedTargets = StringUtil.split(ParamUtil.getString(actionRequest, "selectedTargets"));
    String[] unselectedTargets = StringUtil.split(ParamUtil.getString(actionRequest, "unselectedTargets"));

    for (Map.Entry<String, List<String>> entry : resourceActionsMap.entrySet()) {

        String selResource = entry.getKey();
        List<String> actions = entry.getValue();

        actions = ListUtil.sort(actions, new ActionComparator(themeDisplay.getLocale()));

        for (String actionId : actions) {
            String target = selResource + actionId;

            boolean selected = ArrayUtil.contains(selectedTargets, target);

            if (!selected && !ArrayUtil.contains(unselectedTargets, target)) {

                continue;
            }

            String[] groupIds = StringUtil.split(ParamUtil.getString(actionRequest, "groupIds" + target));

            groupIds = ArrayUtil.distinct(groupIds);

            int scope = ResourceConstants.SCOPE_COMPANY;

            if ((role.getType() == RoleConstants.TYPE_ORGANIZATION)
                    || (role.getType() == RoleConstants.TYPE_PROVIDER)
                    || (role.getType() == RoleConstants.TYPE_SITE)) {

                scope = ResourceConstants.SCOPE_GROUP_TEMPLATE;
            } else {
                if (groupIds.length > 0) {
                    scope = ResourceConstants.SCOPE_GROUP;
                }
            }

            updateAction(role, themeDisplay.getScopeGroupId(), selResource, actionId, selected, scope,
                    groupIds);

            if (selected && actionId.equals(ActionKeys.ACCESS_IN_CONTROL_PANEL)) {

                updateViewControlPanelPermission(role, themeDisplay.getScopeGroupId(), selResource, scope,
                        groupIds);

                rootResourceScope = scope;
                rootResourceGroupIds = groupIds;
            }
        }
    }

    // LPS-38031

    if (rootResourceGroupIds != null) {
        updateViewRootResourcePermission(role, themeDisplay.getScopeGroupId(), portletResource,
                rootResourceScope, rootResourceGroupIds);
    }

    // Send redirect

    SessionMessages.add(actionRequest, "permissionsUpdated");

    String redirect = _portal.escapeRedirect(ParamUtil.getString(actionRequest, "redirect"));

    if (Validator.isNotNull(redirect)) {
        actionResponse.sendRedirect(redirect);
    }
}

From source file:com.liferay.roles.admin.web.internal.portlet.RolesAdminPortlet.java

License:Open Source License

protected void updateAction(Role role, long groupId, String selResource, String actionId, boolean selected,
        int scope, String[] groupIds) throws Exception {

    long companyId = role.getCompanyId();
    long roleId = role.getRoleId();

    if (selected) {
        if (scope == ResourceConstants.SCOPE_COMPANY) {
            _resourcePermissionService.addResourcePermission(groupId, companyId, selResource, scope,
                    String.valueOf(role.getCompanyId()), roleId, actionId);
        } else if (scope == ResourceConstants.SCOPE_GROUP_TEMPLATE) {
            _resourcePermissionService.addResourcePermission(groupId, companyId, selResource,
                    ResourceConstants.SCOPE_GROUP_TEMPLATE,
                    String.valueOf(GroupConstants.DEFAULT_PARENT_GROUP_ID), roleId, actionId);
        } else if (scope == ResourceConstants.SCOPE_GROUP) {
            _resourcePermissionService.removeResourcePermissions(groupId, companyId, selResource,
                    ResourceConstants.SCOPE_GROUP, roleId, actionId);

            for (String curGroupId : groupIds) {
                _resourcePermissionService.addResourcePermission(groupId, companyId, selResource,
                        ResourceConstants.SCOPE_GROUP, curGroupId, roleId, actionId);
            }//from  ww w  .j  av a 2s  .  co  m
        }
    } else {

        // Remove company, group template, and group permissions

        _resourcePermissionService.removeResourcePermissions(groupId, companyId, selResource,
                ResourceConstants.SCOPE_COMPANY, roleId, actionId);

        _resourcePermissionService.removeResourcePermissions(groupId, companyId, selResource,
                ResourceConstants.SCOPE_GROUP_TEMPLATE, roleId, actionId);

        _resourcePermissionService.removeResourcePermissions(groupId, companyId, selResource,
                ResourceConstants.SCOPE_GROUP, roleId, actionId);
    }
}

From source file:com.liferay.trash.service.webserver.test.WebServerTrashTest.java

License:Open Source License

@Override
public void setUp() throws Exception {
    super.setUp();

    _user = UserTestUtil.addUser(null, group.getGroupId());

    String portletId = PortletProviderUtil.getPortletId(TrashEntry.class.getName(),
            PortletProvider.Action.VIEW);

    _role = RoleTestUtil.addRole("Trash Admin", RoleConstants.TYPE_REGULAR, portletId,
            ResourceConstants.SCOPE_COMPANY, String.valueOf(TestPropsValues.getCompanyId()),
            ActionKeys.ACCESS_IN_CONTROL_PANEL);

    RoleTestUtil.addResourcePermission(RoleConstants.GUEST, DLPermission.RESOURCE_NAME,
            ResourceConstants.SCOPE_GROUP_TEMPLATE, String.valueOf(GroupConstants.DEFAULT_PARENT_GROUP_ID),
            ActionKeys.VIEW);//from ww  w  . j a v a  2  s .c o m
}