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.11 -r1.12 --- lams_central/src/java/org/lamsfoundation/lams/web/LoginRequestServlet.java 10 Apr 2009 13:27:10 -0000 1.11 +++ lams_central/src/java/org/lamsfoundation/lams/web/LoginRequestServlet.java 13 Oct 2009 02:28:24 -0000 1.12 @@ -144,7 +144,7 @@ Authenticator.authenticate(serverMap, timestamp, extUsername, method, hash); ExtCourseClassMap orgMap = getService().getExtCourseClassMap(serverMap, userMap, extCourseId, - countryIsoCode, langIsoCode, courseName); + countryIsoCode, langIsoCode, courseName, method); User user = userMap.getUser(); String login = user.getLogin(); //was using hses.inNew() API to check if the external user has logged in yet, Index: lams_central/src/java/org/lamsfoundation/lams/webservice/LearningDesignRepositorySoapBindingImpl.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/webservice/LearningDesignRepositorySoapBindingImpl.java,v diff -u -r1.8 -r1.9 --- lams_central/src/java/org/lamsfoundation/lams/webservice/LearningDesignRepositorySoapBindingImpl.java 17 Sep 2008 07:08:17 -0000 1.8 +++ lams_central/src/java/org/lamsfoundation/lams/webservice/LearningDesignRepositorySoapBindingImpl.java 13 Oct 2009 02:26:48 -0000 1.9 @@ -39,6 +39,7 @@ import org.lamsfoundation.lams.integration.ExtUserUseridMap; import org.lamsfoundation.lams.integration.security.Authenticator; import org.lamsfoundation.lams.integration.service.IntegrationService; +import org.lamsfoundation.lams.integration.util.LoginRequestDispatcher; import org.lamsfoundation.lams.usermanagement.WorkspaceFolder; import org.lamsfoundation.lams.usermanagement.exception.UserAccessDeniedException; import org.lamsfoundation.lams.util.MessageService; @@ -159,7 +160,7 @@ ExtServerOrgMap serverMap = integrationService.getExtServerOrgMap(serverId); Authenticator.authenticate(serverMap, datetime, username, hashValue); ExtUserUseridMap userMap = integrationService.getExtUserUseridMap(serverMap, username); - integrationService.getExtCourseClassMap(serverMap, userMap, courseId, country, lang, null); + integrationService.getExtCourseClassMap(serverMap, userMap, courseId, country, lang, null, LoginRequestDispatcher.METHOD_MONITOR); return buildContentTree(userMap.getUser().getUserId(), mode).toString(); } catch (Exception e) { log.debug(e.getMessage(),e); Index: lams_central/src/java/org/lamsfoundation/lams/webservice/LessonManagerSoapBindingImpl.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/webservice/LessonManagerSoapBindingImpl.java,v diff -u -r1.12 -r1.13 --- lams_central/src/java/org/lamsfoundation/lams/webservice/LessonManagerSoapBindingImpl.java 4 Sep 2009 07:29:22 -0000 1.12 +++ lams_central/src/java/org/lamsfoundation/lams/webservice/LessonManagerSoapBindingImpl.java 13 Oct 2009 02:26:48 -0000 1.13 @@ -38,6 +38,7 @@ import org.lamsfoundation.lams.integration.ExtUserUseridMap; import org.lamsfoundation.lams.integration.security.Authenticator; import org.lamsfoundation.lams.integration.service.IntegrationService; +import org.lamsfoundation.lams.integration.util.LoginRequestDispatcher; import org.lamsfoundation.lams.lesson.Lesson; import org.lamsfoundation.lams.monitoring.service.IMonitoringService; import org.lamsfoundation.lams.usermanagement.Organisation; @@ -72,7 +73,7 @@ Authenticator.authenticate(serverMap, datetime, username, hashValue); ExtUserUseridMap userMap = integrationService.getExtUserUseridMap(serverMap, username); ExtCourseClassMap orgMap = integrationService.getExtCourseClassMap(serverMap, userMap, courseId, - countryIsoCode, langIsoCode, null); + countryIsoCode, langIsoCode, null, LoginRequestDispatcher.METHOD_MONITOR); // 1. init lesson Lesson lesson = monitoringService.initializeLesson(title, desc, Boolean.TRUE, ldId, orgMap .getOrganisation().getOrganisationId(), userMap.getUser().getUserId(), customCSV, Boolean.FALSE, Boolean.FALSE, Boolean.FALSE); @@ -94,7 +95,7 @@ Authenticator.authenticate(serverMap, datetime, username, hashValue); ExtUserUseridMap userMap = integrationService.getExtUserUseridMap(serverMap, username); ExtCourseClassMap orgMap = integrationService.getExtCourseClassMap(serverMap, userMap, courseId, - countryIsoCode, langIsoCode, null); + countryIsoCode, langIsoCode, null, LoginRequestDispatcher.METHOD_MONITOR); // 1. init lesson Lesson lesson = monitoringService.initializeLesson(title, desc, Boolean.TRUE, ldId, orgMap .getOrganisation().getOrganisationId(), userMap.getUser().getUserId(), customCSV, Boolean.FALSE, Boolean.FALSE, Boolean.FALSE); Index: lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LearningDesignRepositoryServlet.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LearningDesignRepositoryServlet.java,v diff -u -r1.8 -r1.9 --- lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LearningDesignRepositoryServlet.java 10 Apr 2009 13:27:10 -0000 1.8 +++ lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LearningDesignRepositoryServlet.java 13 Oct 2009 02:26:48 -0000 1.9 @@ -328,7 +328,7 @@ } // create group for external course if necessary - integrationService.getExtCourseClassMap(serverMap, userMap, courseId, country, lang, courseName); + integrationService.getExtCourseClassMap(serverMap, userMap, courseId, country, lang, courseName, method); String contentTree = buildContentTree(userMap.getUser().getUserId(), mode).toString(); Index: lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LessonManagerServlet.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LessonManagerServlet.java,v diff -u -r1.29 -r1.30 --- lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LessonManagerServlet.java 4 Sep 2009 07:29:22 -0000 1.29 +++ lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LessonManagerServlet.java 13 Oct 2009 02:26:48 -0000 1.30 @@ -301,7 +301,7 @@ Authenticator.authenticate(serverMap, datetime, username, hashValue); ExtUserUseridMap userMap = LessonManagerServlet.integrationService.getExtUserUseridMap(serverMap, username); ExtCourseClassMap orgMap = LessonManagerServlet.integrationService.getExtCourseClassMap(serverMap, userMap, - courseId, countryIsoCode, langIsoCode, null); + courseId, countryIsoCode, langIsoCode, null, LoginRequestDispatcher.METHOD_MONITOR); // 1. init lesson Lesson lesson = LessonManagerServlet.monitoringService.initializeLesson(title, desc, Boolean.TRUE, ldId, orgMap.getOrganisation().getOrganisationId(), userMap.getUser().getUserId(), customCSV, @@ -325,7 +325,7 @@ Authenticator.authenticate(serverMap, datetime, username, hashValue); ExtUserUseridMap userMap = LessonManagerServlet.integrationService.getExtUserUseridMap(serverMap, username); ExtCourseClassMap orgMap = LessonManagerServlet.integrationService.getExtCourseClassMap(serverMap, userMap, - courseId, countryIsoCode, langIsoCode, null); + courseId, countryIsoCode, langIsoCode, null, LoginRequestDispatcher.METHOD_MONITOR); // 1. init lesson Lesson lesson = LessonManagerServlet.monitoringService.initializeLesson(title, desc, Boolean.TRUE, ldId, orgMap.getOrganisation().getOrganisationId(), userMap.getUser().getUserId(), customCSV, false, @@ -495,7 +495,7 @@ Authenticator.authenticate(serverMap, datetime, username, hashValue); ExtUserUseridMap userMap = LessonManagerServlet.integrationService.getExtUserUseridMap(serverMap, username); ExtCourseClassMap orgMap = LessonManagerServlet.integrationService.getExtCourseClassMap(serverMap, userMap, - courseId, countryIsoCode, langIsoCode, null); + courseId, countryIsoCode, langIsoCode, null, LoginRequestDispatcher.METHOD_MONITOR); // 1. init lesson Lesson lesson = LessonManagerServlet.monitoringService.initializeLessonForPreview(title, desc, ldId, userMap.getUser().getUserId(), customCSV, false, false, false); @@ -701,7 +701,7 @@ ExtUserUseridMap userMap = LessonManagerServlet.integrationService.getExtUserUseridMap(serverMap, username); // adds user to group ExtCourseClassMap orgMap = LessonManagerServlet.integrationService.getExtCourseClassMap(serverMap, userMap, - courseId, countryIsoCode, langIsoCode, null); + courseId, countryIsoCode, langIsoCode, null, method); if (LessonManagerServlet.lessonService == null) { LessonManagerServlet.lessonService = (ILessonService) WebApplicationContextUtils Index: lams_common/src/java/org/lamsfoundation/lams/integration/service/IIntegrationService.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/integration/service/IIntegrationService.java,v diff -u -r1.9 -r1.10 --- lams_common/src/java/org/lamsfoundation/lams/integration/service/IIntegrationService.java 1 Jul 2009 02:47:09 -0000 1.9 +++ lams_common/src/java/org/lamsfoundation/lams/integration/service/IIntegrationService.java 13 Oct 2009 02:26:47 -0000 1.10 @@ -41,7 +41,7 @@ public interface IIntegrationService { ExtCourseClassMap getExtCourseClassMap(ExtServerOrgMap serverMap, ExtUserUseridMap userMap, - String extCourseId, String countryIsoCode, String langIsoCode, String prettyCourseName); + String extCourseId, String countryIsoCode, String langIsoCode, String prettyCourseName, String method); ExtCourseClassMap getExtCourseClassMap(ExtServerOrgMap serverMap, ExtUserUseridMap userMap, String extCourseId, String extCourseName, String countryIsoCode, String langIsoCode, 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.19 -r1.20 --- lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java 1 Jul 2009 02:47:09 -0000 1.19 +++ lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java 13 Oct 2009 02:26:47 -0000 1.20 @@ -32,21 +32,21 @@ import java.net.URL; import java.net.URLConnection; import java.net.URLEncoder; -import java.text.DateFormat; import java.text.ParseException; -import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; +import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.lamsfoundation.lams.integration.ExtCourseClassMap; import org.lamsfoundation.lams.integration.ExtServerOrgMap; import org.lamsfoundation.lams.integration.ExtServerToolAdapterMap; import org.lamsfoundation.lams.integration.ExtUserUseridMap; import org.lamsfoundation.lams.integration.UserInfoFetchException; import org.lamsfoundation.lams.integration.security.RandomPasswordGenerator; +import org.lamsfoundation.lams.integration.util.LoginRequestDispatcher; import org.lamsfoundation.lams.usermanagement.AuthenticationMethod; import org.lamsfoundation.lams.usermanagement.Organisation; import org.lamsfoundation.lams.usermanagement.OrganisationState; @@ -60,6 +60,8 @@ import org.lamsfoundation.lams.util.HashUtil; import org.lamsfoundation.lams.util.LanguageUtil; + + /** *

* View Source @@ -92,7 +94,7 @@ // wrapper method for compatibility with original integration modules public ExtCourseClassMap getExtCourseClassMap(ExtServerOrgMap serverMap, ExtUserUseridMap userMap, - String extCourseId, String countryIsoCode, String langIsoCode, String prettyCourseName) { + String extCourseId, String countryIsoCode, String langIsoCode, String prettyCourseName, String method) { // Set the pretty course name if available, otherwise maintain the extCourseId String courseName = ""; @@ -101,9 +103,13 @@ } else { courseName = extCourseId; } - - return getExtCourseClassMap(serverMap, userMap, extCourseId, courseName, countryIsoCode, langIsoCode, service - .getRootOrganisation().getOrganisationId().toString(), true, true); + if (StringUtils.equals(method, LoginRequestDispatcher.METHOD_AUTHOR) || StringUtils.equals(method, LoginRequestDispatcher.METHOD_MONITOR)) { + return getExtCourseClassMap(serverMap, userMap, extCourseId, courseName, countryIsoCode, langIsoCode, service + .getRootOrganisation().getOrganisationId().toString(), true, true); + } else { + return getExtCourseClassMap(serverMap, userMap, extCourseId, courseName, countryIsoCode, langIsoCode, service + .getRootOrganisation().getOrganisationId().toString(), false, true); + } } // newer method which accepts course name, a parent org id, a flag for whether user should get