List of usage examples for com.liferay.portal.kernel.security.membershippolicy OrganizationMembershipPolicyUtil isMembershipRequired
public static boolean isMembershipRequired(long userId, long organizationId) throws PortalException
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; }