Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/UserOrgSaveController.java =================================================================== diff -u -r063b75b0ad3ad6365af21a3f77a82700f1bfdc5f -r064661349150076f41ef249b55b054a72f6a3fb5 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/UserOrgSaveController.java (.../UserOrgSaveController.java) (revision 063b75b0ad3ad6365af21a3f77a82700f1bfdc5f) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/UserOrgSaveController.java (.../UserOrgSaveController.java) (revision 064661349150076f41ef249b55b054a72f6a3fb5) @@ -26,7 +26,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Set; @@ -36,6 +35,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.lamsfoundation.lams.admin.web.form.UserOrgForm; import org.lamsfoundation.lams.usermanagement.Organisation; @@ -113,8 +113,9 @@ Organisation organisation = (Organisation) userManagementService.findById(Organisation.class, orgId); Set uos = organisation.getUserOrganisations(); - String[] userIds = userOrgForm.getUserIds(); - List userIdList = userIds == null ? Collections.emptyList() : Arrays.asList(userIds); + String[] userIds = StringUtils.isBlank(userOrgForm.getUserIds()) ? null : userOrgForm.getUserIds().split(","); + List userIdList = Arrays.stream(userIds).filter(StringUtils::isNotBlank) + .collect(Collectors.mapping(userId -> Integer.valueOf(userId), Collectors.toList())); log.debug("new user membership of orgId=" + orgId + " will be: " + userIdList); Set removedUserIds = new TreeSet<>(); @@ -123,7 +124,7 @@ while (iter.hasNext()) { UserOrganisation uo = (UserOrganisation) iter.next(); Integer userId = uo.getUser().getUserId(); - if (userIdList.indexOf(userId.toString()) < 0) { + if (!userIdList.contains(userId)) { User user = (User) userManagementService.findById(User.class, userId); Set userUos = user.getUserOrganisations(); userUos.remove(uo); @@ -138,8 +139,7 @@ } // add UserOrganisations that are in form data List newUserOrganisations = new ArrayList<>(); - for (int i = 0; i < userIdList.size(); i++) { - Integer userId = new Integer(userIdList.get(i)); + for (Integer userId : userIdList) { Iterator iter2 = uos.iterator(); boolean alreadyInOrg = false; while (iter2.hasNext()) { @@ -205,8 +205,8 @@ StringBuilder userNames = new StringBuilder(); for (Integer userId : userIds) { User user = userManagementService.getUserById(userId); - userNames.append(user.getFirstName()).append(" ").append(user.getLastName()) - .append(" (").append(user.getLogin()).append("), "); + userNames.append(user.getFirstName()).append(" ").append(user.getLastName()).append(" (") + .append(user.getLogin()).append("), "); } return userNames.delete(userNames.length() - 2, userNames.length()).toString(); } Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/form/UserOrgForm.java =================================================================== diff -u -r550e1b37b507779064955267ef47e9085f791357 -r064661349150076f41ef249b55b054a72f6a3fb5 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/form/UserOrgForm.java (.../UserOrgForm.java) (revision 550e1b37b507779064955267ef47e9085f791357) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/form/UserOrgForm.java (.../UserOrgForm.java) (revision 064661349150076f41ef249b55b054a72f6a3fb5) @@ -28,7 +28,7 @@ private String orgName; - private String[] userIds; + private String userIds; public Integer getOrgId() { return orgId; @@ -46,12 +46,11 @@ this.orgName = orgName; } - public String[] getUserIds() { + public String getUserIds() { return userIds; } - public void setUserIds(String[] userIds) { + public void setUserIds(String userIds) { this.userIds = userIds; } - -} +} \ No newline at end of file Index: lams_admin/web/userorg.jsp =================================================================== diff -u -r92b07870b09c49b9db34996fab8e99651d2d2538 -r064661349150076f41ef249b55b054a72f6a3fb5 --- lams_admin/web/userorg.jsp (.../userorg.jsp) (revision 92b07870b09c49b9db34996fab8e99651d2d2538) +++ lams_admin/web/userorg.jsp (.../userorg.jsp) (revision 064661349150076f41ef249b55b054a72f6a3fb5) @@ -141,9 +141,11 @@ } function populateForm() { + let userIds = ''; jQuery("li", "div#existing").each(function() { - jQuery("form", "div#form").append(""); + userIds += $(this).attr("id") + ','; }); + $('#userOrgForm #userIds').val(userIds); return true; } @@ -210,6 +212,7 @@ + " />