Index: lams_build/lib/lams/lams.jar =================================================================== diff -u -r32a06b2b49302ae7c4479dffde8eb2b0574e343a -r882787d2ea17b4756ded02f0fa29f805fe095dc4 Binary files differ Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java =================================================================== diff -u -r73d514c4abd3da68dfa6fbb96fd3141c2726b6e2 -r882787d2ea17b4756ded02f0fa29f805fe095dc4 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java (.../UserManagementService.java) (revision 73d514c4abd3da68dfa6fbb96fd3141c2726b6e2) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java (.../UserManagementService.java) (revision 882787d2ea17b4756ded02f0fa29f805fe095dc4) @@ -435,7 +435,22 @@ if(organisation.getOrganisationType().getOrganisationTypeId().equals(OrganisationType.COURSE_TYPE)){ Workspace workspace = createWorkspaceForOrganisation(organisation.getName(), userID, createDateTime); organisation.setWorkspace(workspace); - } + } + + if(organisation.getOrganisationType().getOrganisationTypeId().equals(OrganisationType.CLASS_TYPE)){ + // get course managers and give them staff role in this new class + Vector managers = getUsersFromOrganisationByRole(organisation.getParentOrganisation().getOrganisationId(),Role.COURSE_MANAGER); + HashSet uos = new HashSet(); + for(UserDTO m: managers){ + UserOrganisation uo = new UserOrganisation((User)findById(User.class,m.getUserID()),organisation); + UserOrganisationRole uor = new UserOrganisationRole(uo,(Role)findById(Role.class,Role.ROLE_STAFF)); + HashSet uors = new HashSet(); + uors.add(uor); + uo.setUserOrganisationRoles(uors); + uos.add(uo); + } + organisation.setUserOrganisations(uos); + } } save(organisation);