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.4 -r1.5 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserSaveAction.java 22 Jun 2006 05:41:36 -0000 1.4 +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserSaveAction.java 23 Jun 2006 06:56:06 -0000 1.5 @@ -147,6 +147,9 @@ Role currentRole = (Role)service.findById(Role.class,roleId); log.debug("setting role: "+currentRole); uors.add(new UserOrganisationRole(uo,currentRole)); + uo.setUserOrganisationRoles(uors); + user.setUserOrganisations(uos); + service.save(user); //log.debug("num roles: "+uo.getUserOrganisationRoles().size()); } } @@ -158,12 +161,11 @@ //log.debug("rolesList: "+rolesList); if(rolesList.indexOf(currentRoleId.toString())<0){ // remove roles not set by user log.debug("removing role: "+currentRoleId); - uors.remove(uor); + iter3.remove(); //log.debug("num roles: "+uors.size()); uo.setUserOrganisationRoles(uors); uos.add(uo); user.setUserOrganisations(uos); - break; } } break; // already found uo that matches this org