Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserOrgSaveAction.java =================================================================== diff -u -r595b61abd50d853fa3b934c86e95120b0be584bb -r4d93a85aeb9998c7d81d99a82f626ff51eab4061 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserOrgSaveAction.java (.../UserOrgSaveAction.java) (revision 595b61abd50d853fa3b934c86e95120b0be584bb) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserOrgSaveAction.java (.../UserOrgSaveAction.java) (revision 4d93a85aeb9998c7d81d99a82f626ff51eab4061) @@ -102,6 +102,10 @@ Integer userId = uo.getUser().getUserId(); if(userIdList.indexOf(userId.toString())<0){ iter.remove(); + User user = (User)getService().findById(User.class, userId); + Set userUos = user.getUserOrganisations(); + userUos.remove(uo); + user.setUserOrganisations(userUos); log.debug("removed: "+userId); } } @@ -120,9 +124,6 @@ if(!alreadyInOrg){ User user = (User)getService().findById(User.class,userId); UserOrganisation uo = new UserOrganisation(user,organisation); - getService().save(uo); - uos.add(uo); - log.debug("added: "+userId); newUserOrganisations.add(uo); /*Role role = (Role)getService().findByProperty(Role.class,"name",Role.LEARNER).get(0); UserOrganisationRole uor = new UserOrganisationRole(uo,role);