Index: lams_central/src/java/org/lamsfoundation/lams/web/LoginRequestServlet.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/web/LoginRequestServlet.java,v diff -u -r1.4 -r1.5 --- lams_central/src/java/org/lamsfoundation/lams/web/LoginRequestServlet.java 29 Nov 2006 03:59:17 -0000 1.4 +++ lams_central/src/java/org/lamsfoundation/lams/web/LoginRequestServlet.java 21 Feb 2007 04:53:25 -0000 1.5 @@ -142,8 +142,8 @@ Organisation org = orgMap.getOrganisation(); IUserManagementService userManagementService = integrationService.getService(); UserOrganisation uo = userManagementService.getUserOrganisation(user.getUserId(), org.getOrganisationId()); - //GROUP_MANAGER role is to enable user to see the course's workspace folder - Integer[] roleIds = new Integer[]{Role.ROLE_AUTHOR,Role.ROLE_GROUP_MANAGER,Role.ROLE_LEARNER}; + // make sure external user has minimal set of roles, i.e. learner + Integer[] roleIds = new Integer[]{Role.ROLE_LEARNER}; //we have to assign all the roles to the external user here, because once the user logged in, the roles //are cached in JBoss, all the calls of request.isUserInRole() will be based on the cached roles Map properties = new HashMap(); Index: lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java,v diff -u -r1.7 -r1.8 --- lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java 3 Jan 2007 01:29:31 -0000 1.7 +++ lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java 21 Feb 2007 04:53:26 -0000 1.8 @@ -111,7 +111,7 @@ private void addMemberships(User user, Organisation org){ UserOrganisation uo = new UserOrganisation(user,org); service.save(uo); - Integer[] roles = new Integer[]{Role.ROLE_AUTHOR, Role.ROLE_MONITOR, Role.ROLE_GROUP_MANAGER, Role.ROLE_LEARNER}; + Integer[] roles = new Integer[]{Role.ROLE_AUTHOR, Role.ROLE_MONITOR, Role.ROLE_LEARNER}; for(Integer roleId:roles){ UserOrganisationRole uor = new UserOrganisationRole(uo,(Role)service.findById(Role.class,roleId)); service.save(uor); @@ -138,7 +138,7 @@ org.setName(buildName(serverMap.getPrefix(), extCourseId)); org.setCode(extCourseId); org.setParentOrganisation(serverMap.getOrganisation()); - org.setOrganisationType((OrganisationType)service.findById(OrganisationType.class,OrganisationType.COURSE_TYPE)); + org.setOrganisationType((OrganisationType)service.findById(OrganisationType.class,OrganisationType.CLASS_TYPE)); org.setOrganisationState((OrganisationState)service.findById(OrganisationState.class,OrganisationState.ACTIVE)); org.setLocale(getLocale(countryIsoCode, langIsoCode)); service.saveOrganisation(org, user.getUserId()); @@ -212,6 +212,7 @@ map.setExtUsername(extUsername); map.setUser(user); service.save(map); + addMemberships(user, serverMap.getOrganisation()); return map; }