List of usage examples for com.liferay.portal.kernel.security.membershippolicy UserGroupMembershipPolicyUtil isMembershipRequired
public static boolean isMembershipRequired(long userId, long userGroupId) throws PortalException
From source file:eu.gerhards.liferay.services.angular.service.impl.AngularUserGroupServiceImpl.java
License:Open Source License
public long[] checkUserGroupIds(long userId, long[] userGroupIds) throws PortalException { long[] oldUserGroupIds = null; PermissionChecker permissionChecker = getPermissionChecker(); if (userId != CompanyConstants.SYSTEM) { // Add back any user groups that the administrator does not have the // rights to remove or that have a mandatory membership List<UserGroup> oldUserGroups = UserGroupLocalServiceUtil.getUserUserGroups(userId); oldUserGroupIds = new long[oldUserGroups.size()]; for (int i = 0; i < oldUserGroups.size(); i++) { UserGroup userGroup = oldUserGroups.get(i); if (!ArrayUtil.contains(userGroupIds, userGroup.getUserGroupId()) && (!UserGroupPermissionUtil .contains(permissionChecker, userGroup.getUserGroupId(), ActionKeys.ASSIGN_MEMBERS) || UserGroupMembershipPolicyUtil.isMembershipRequired(userId, userGroup.getUserGroupId()))) { userGroupIds = ArrayUtil.append(userGroupIds, userGroup.getUserGroupId()); }// ww w.j a v a2 s . c o m oldUserGroupIds[i] = userGroup.getUserGroupId(); } } // Check that the administrator has the permission to add a new user // group and that the user group membership is allowed for (long userGroupId : userGroupIds) { if ((oldUserGroupIds == null) || !ArrayUtil.contains(oldUserGroupIds, userGroupId)) { UserGroupPermissionUtil.check(permissionChecker, userGroupId, ActionKeys.ASSIGN_MEMBERS); } } return userGroupIds; }