List of usage examples for com.liferay.portal.kernel.service UserLocalServiceUtil updateOrganizations
public static void updateOrganizations(long userId, long[] newOrganizationIds, ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException
From source file:eu.gerhards.liferay.services.angular.service.impl.AngularUserServiceImpl.java
License:Open Source License
@Override public void updateUserOrganizations(long userId, long[] organizationIds) throws PortalException { _log.info("Updating user phones ... "); _log.debug(" ... security check ..."); PortalPermissionUtil.check(getPermissionChecker(), AngularActionKeys.UPDATE_ORGANIZATION); _log.debug(" ... processing ... "); long creatorId = 0; try {//www . j a v a 2 s. co m creatorId = this.getUserId(); } catch (PrincipalException pe) { if (_log.isWarnEnabled()) { _log.warn("Unable to get current user ID", pe); } } User user = UserLocalServiceUtil.getUserById(userId); this.checkUpdateUserPermission(creatorId, userId, user.getCompanyId(), null, null, null, null, null); // Organization membership policy long[] oldOrganizationIds = user.getOrganizationIds(); List<Long> addOrganizationIds = new ArrayList<>(); List<Long> removeOrganizationIds = Collections.emptyList(); if (organizationIds != null) { removeOrganizationIds = ListUtil.toList(oldOrganizationIds); organizationIds = angularOrganizationService.checkOrganizations(userId, organizationIds); for (long organizationId : organizationIds) { if (ArrayUtil.contains(oldOrganizationIds, organizationId)) { removeOrganizationIds.remove(organizationId); } else { addOrganizationIds.add(organizationId); } } OrganizationLocalServiceUtil.addUserOrganizations(user.getUserId(), organizationIds); UserLocalServiceUtil.updateOrganizations(user.getUserId(), organizationIds, null); if (!addOrganizationIds.isEmpty() || !removeOrganizationIds.isEmpty()) { OrganizationMembershipPolicyUtil.checkMembership(new long[] { userId }, ArrayUtil.toLongArray(addOrganizationIds), ArrayUtil.toLongArray(removeOrganizationIds)); } } }