@Override public void addUser(Organization organization, User... users) { if (isInvalid(users)) { return; } try { userLocalService.addOrganizationUsers(organization.getOrganizationId(), toIdArray(users)); } catch (Exception e) { String msg = String.format("Failed to add users [%s] to Organization [%s]", toScreenNames(users), organization.getName()); log(msg, e); } }
@Override public boolean isMember(Organization organization, User user) { try { return user.getOrganizations().contains(organization); } catch (Exception e) { String msg = String.format("Failed to lookup if user [%s] is member in organization [%s]", user.getScreenName(), organization.getName()); log(msg, e); throw new RuntimeException(msg, e); } }
@Override public Organization createIfNeeded(String organizationName, Organization parent, long companyId) { try { Organization organization = findByName(organizationName, companyId); if (organization != null) { return organization; } User systemUser = liferayAutomation.lookupSysadmin(companyId); boolean site = true; Long parentId = (parent != null) ? parent.getOrganizationId() : 0L; String description = liferayAutomation.autoCreateDescription(); // 12017 refers to listtypeid = full-member/com.liferay.portal.model.Organization.status organization = organizationLocalService.addOrganization(systemUser.getUserId(), parentId, organizationName, OrganizationConstants.TYPE_REGULAR_ORGANIZATION, 0, 0, 12017, "", site , null); return organization; } catch (Exception e) { String msg = String.format("Failed to create UserGroup [%s]", organizationName); log(msg, e); throw new RuntimeException(msg, e); } }
@Override public boolean isMember(String organizationName, User user) { try { List<Organization> userOrganizations = user.getOrganizations(); for (Organization organization : userOrganizations) { if (organization.getName().equals(organizationName)) { return true; } } return false; } catch (Exception e) { String msg = String.format("Failed to lookup if user [%s] is member in organization [%s]", user.getScreenName(), organizationName); log(msg, e); throw new RuntimeException(msg, e); } }
@Override public void removeUser(Organization organization, User... users) { if (isInvalid(users)) { return; } if (organization != null) { try { userLocalService.unsetOrganizationUsers(organization.getOrganizationId(), toIdArray(users)); } catch (Exception e) { String msg = String.format("Failed to remove users [%s] from Organization [%s]", toScreenNames(users), organization.getName()); log(msg, e); } } }