Index: lams_central/src/java/org/lamsfoundation/lams/web/LoginRequestServlet.java =================================================================== diff -u -r8d1f1d066f2b63b83bdd630609c527fec153675a -rf685d0c3f89b3efd86c9fbdf22742425247f5e3a --- lams_central/src/java/org/lamsfoundation/lams/web/LoginRequestServlet.java (.../LoginRequestServlet.java) (revision 8d1f1d066f2b63b83bdd630609c527fec153675a) +++ lams_central/src/java/org/lamsfoundation/lams/web/LoginRequestServlet.java (.../LoginRequestServlet.java) (revision f685d0c3f89b3efd86c9fbdf22742425247f5e3a) @@ -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 =================================================================== diff -u -rc2a96caab480d04c02dc7a90e719fc0bb9af6a50 -rf685d0c3f89b3efd86c9fbdf22742425247f5e3a --- lams_central/src/java/org/lamsfoundation/lams/webservice/LearningDesignRepositorySoapBindingImpl.java (.../LearningDesignRepositorySoapBindingImpl.java) (revision c2a96caab480d04c02dc7a90e719fc0bb9af6a50) +++ lams_central/src/java/org/lamsfoundation/lams/webservice/LearningDesignRepositorySoapBindingImpl.java (.../LearningDesignRepositorySoapBindingImpl.java) (revision f685d0c3f89b3efd86c9fbdf22742425247f5e3a) @@ -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 =================================================================== diff -u -re0d62f22871c958a83ad837bab37b802ce921ef4 -rf685d0c3f89b3efd86c9fbdf22742425247f5e3a --- lams_central/src/java/org/lamsfoundation/lams/webservice/LessonManagerSoapBindingImpl.java (.../LessonManagerSoapBindingImpl.java) (revision e0d62f22871c958a83ad837bab37b802ce921ef4) +++ lams_central/src/java/org/lamsfoundation/lams/webservice/LessonManagerSoapBindingImpl.java (.../LessonManagerSoapBindingImpl.java) (revision f685d0c3f89b3efd86c9fbdf22742425247f5e3a) @@ -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 =================================================================== diff -u -r8d1f1d066f2b63b83bdd630609c527fec153675a -rf685d0c3f89b3efd86c9fbdf22742425247f5e3a --- lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LearningDesignRepositoryServlet.java (.../LearningDesignRepositoryServlet.java) (revision 8d1f1d066f2b63b83bdd630609c527fec153675a) +++ lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LearningDesignRepositoryServlet.java (.../LearningDesignRepositoryServlet.java) (revision f685d0c3f89b3efd86c9fbdf22742425247f5e3a) @@ -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 =================================================================== diff -u -re0d62f22871c958a83ad837bab37b802ce921ef4 -rf685d0c3f89b3efd86c9fbdf22742425247f5e3a --- lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LessonManagerServlet.java (.../LessonManagerServlet.java) (revision e0d62f22871c958a83ad837bab37b802ce921ef4) +++ lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LessonManagerServlet.java (.../LessonManagerServlet.java) (revision f685d0c3f89b3efd86c9fbdf22742425247f5e3a) @@ -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 =================================================================== diff -u -r2f21856ec2ab85b47c93cfcc3fa2c8769be65077 -rf685d0c3f89b3efd86c9fbdf22742425247f5e3a --- lams_common/src/java/org/lamsfoundation/lams/integration/service/IIntegrationService.java (.../IIntegrationService.java) (revision 2f21856ec2ab85b47c93cfcc3fa2c8769be65077) +++ lams_common/src/java/org/lamsfoundation/lams/integration/service/IIntegrationService.java (.../IIntegrationService.java) (revision f685d0c3f89b3efd86c9fbdf22742425247f5e3a) @@ -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 =================================================================== diff -u -r2f21856ec2ab85b47c93cfcc3fa2c8769be65077 -rf685d0c3f89b3efd86c9fbdf22742425247f5e3a --- lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java (.../IntegrationService.java) (revision 2f21856ec2ab85b47c93cfcc3fa2c8769be65077) +++ lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java (.../IntegrationService.java) (revision f685d0c3f89b3efd86c9fbdf22742425247f5e3a) @@ -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