Example usage for com.liferay.portal.kernel.security.membershippolicy OrganizationMembershipPolicyUtil isMembershipRequired

List of usage examples for com.liferay.portal.kernel.security.membershippolicy OrganizationMembershipPolicyUtil isMembershipRequired

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.security.membershippolicy OrganizationMembershipPolicyUtil isMembershipRequired.

Prototype

public static boolean isMembershipRequired(long userId, long organizationId) throws PortalException 

Source Link

Usage

From source file:com.liferay.users.admin.web.internal.search.AddUserOrganizationChecker.java

License:Open Source License

@Override
public boolean isDisabled(Object obj) {
    if (isChecked(obj)) {
        return true;
    }/*  w  w w . j a v a 2s  . com*/

    if (!PropsValues.ORGANIZATIONS_ASSIGNMENT_STRICT) {
        return false;
    }

    User user = (User) obj;

    try {
        PermissionChecker permissionChecker = PermissionThreadLocal.getPermissionChecker();

        if (isChecked(user)) {
            if (OrganizationMembershipPolicyUtil.isMembershipProtected(permissionChecker, user.getUserId(),
                    _organization.getOrganizationId())
                    || OrganizationMembershipPolicyUtil.isMembershipRequired(user.getUserId(),
                            _organization.getOrganizationId())) {

                return true;
            }
        } else {
            if (!OrganizationMembershipPolicyUtil.isMembershipAllowed(user.getUserId(),
                    _organization.getOrganizationId())) {

                return true;
            }
        }

        return !UserPermissionUtil.contains(permissionChecker, user.getUserId(), ActionKeys.UPDATE);
    } catch (Exception e) {
        _log.error(e, e);
    }

    return super.isDisabled(obj);
}

From source file:eu.gerhards.liferay.services.angular.service.impl.AngularOrganizationServiceImpl.java

License:Open Source License

public long[] checkOrganizations(long userId, long[] organizationIds) throws PortalException {

    long[] oldOrganizationIds = null;

    PermissionChecker permissionChecker = getPermissionChecker();

    if (userId != CompanyConstants.SYSTEM) {

        // Add back any mandatory organizations or organizations that the
        // administrator does not have the rights to remove and check that
        // he has the permission to add a new organization

        List<Organization> oldOrganizations = OrganizationLocalServiceUtil.getUserOrganizations(userId);

        oldOrganizationIds = new long[oldOrganizations.size()];

        for (int i = 0; i < oldOrganizations.size(); i++) {
            Organization organization = oldOrganizations.get(i);

            if (!ArrayUtil.contains(organizationIds, organization.getOrganizationId())
                    && (!OrganizationPermissionUtil.contains(permissionChecker, organization,
                            ActionKeys.ASSIGN_MEMBERS)
                            || OrganizationMembershipPolicyUtil.isMembershipProtected(permissionChecker, userId,
                                    organization.getOrganizationId())
                            || OrganizationMembershipPolicyUtil.isMembershipRequired(userId,
                                    organization.getOrganizationId()))) {

                organizationIds = ArrayUtil.append(organizationIds, organization.getOrganizationId());
            }/*from w w w .j  a v  a 2 s  . c  o m*/

            oldOrganizationIds[i] = organization.getOrganizationId();
        }
    }

    // Check that the administrator has the permission to add a new
    // organization and that the organization membership is allowed

    for (long organizationId : organizationIds) {
        if ((oldOrganizationIds != null) && ArrayUtil.contains(oldOrganizationIds, organizationId)) {

            continue;
        }

        Organization organization = OrganizationLocalServiceUtil.getOrganization(organizationId);

        OrganizationPermissionUtil.check(permissionChecker, organization, ActionKeys.ASSIGN_MEMBERS);
    }

    return organizationIds;
}