Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserOrgSaveAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserOrgSaveAction.java,v diff -u -r1.1 -r1.2 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserOrgSaveAction.java 23 Jun 2006 06:58:44 -0000 1.1 +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserOrgSaveAction.java 23 Jun 2006 07:36:17 -0000 1.2 @@ -90,27 +90,7 @@ Organisation organisation = (Organisation)service.findById(Organisation.class, orgId); Set uos = organisation.getUserOrganisations(); - /* clear and repopulate set of userorganisations; - * adding new rows work, but old ones are not removed: - * ObjectDeletedException, object would be re-saved by cascade - uos.clear(); - organisation.setUserOrganisations(uos); - service.save(organisation); - String[] userIds = (String[])userOrgForm.get("userIds"); - List userIdList = Arrays.asList(userIds); - for(int i=0; i userIdList = Arrays.asList(userIds); log.debug("userIdList: "+userIdList); @@ -139,6 +119,7 @@ if(!alreadyInOrg){ User user = (User)service.findById(User.class,userId); UserOrganisation uo = new UserOrganisation(user,organisation); + service.save(uo); // weird spring?/hibernate? bug where only first row is added uos.add(uo); log.debug("added: "+userId); } Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserSaveAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserSaveAction.java,v diff -u -r1.5 -r1.6 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserSaveAction.java 23 Jun 2006 06:56:06 -0000 1.5 +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserSaveAction.java 23 Jun 2006 07:36:17 -0000 1.6 @@ -119,18 +119,6 @@ while(iter.hasNext()){ UserOrganisation uo = (UserOrganisation)iter.next(); if(uo.getOrganisation().getOrganisationId().equals(orgId)){ - // simply clearing the uors and setting new ones specified by user doesn't seem to work - /*uo.getUserOrganisationRoles().clear(); - service.save(user); - log.debug("num roles: "+uo.getUserOrganisationRoles().size()); - for(int i=0; i