Index: lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LessonManagerServlet.java =================================================================== diff -u -re3cc96afe1761e30057a7cc1edacf7c6bbf6e14b -rbab5898426658f44cb5ee1a7911a1966578344ef --- lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LessonManagerServlet.java (.../LessonManagerServlet.java) (revision e3cc96afe1761e30057a7cc1edacf7c6bbf6e14b) +++ lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LessonManagerServlet.java (.../LessonManagerServlet.java) (revision bab5898426658f44cb5ee1a7911a1966578344ef) @@ -114,20 +114,23 @@ String datetime = request.getParameter(CentralConstants.PARAM_DATE_TIME); String hashValue = request.getParameter(CentralConstants.PARAM_HASH_VALUE); String username = request.getParameter(CentralConstants.PARAM_USERNAME); - String courseId = request.getParameter(CentralConstants.PARAM_COURSE_ID); String ldIdStr = request.getParameter(CentralConstants.PARAM_LEARNING_DESIGN_ID); String lsIdStr = request.getParameter(CentralConstants.PARAM_LESSON_ID); String country = request.getParameter(CentralConstants.PARAM_COUNTRY); String title = request.getParameter(CentralConstants.PARAM_TITLE); String desc = request.getParameter(CentralConstants.PARAM_DESC); String startDate = request.getParameter(CentralConstants.PARAM_STARTDATE); String lang = request.getParameter(CentralConstants.PARAM_LANG); - String method = request.getParameter(CentralConstants.PARAM_METHOD); String filePath = request.getParameter(CentralConstants.PARAM_FILEPATH); String outputsUser = request.getParameter("outputsUser"); String learnerIds = request.getParameter(CentralConstants.PARAM_LEARNER_IDS); String monitorIds = request.getParameter(CentralConstants.PARAM_MONITOR_IDS); + String method = request.getParameter(CentralConstants.PARAM_METHOD); + + /** CourseId isn't needed for a preview, but it is needed for the other calls */ + String courseId = WebUtil.readStrParam(request, CentralConstants.PARAM_COURSE_ID, method.equals(CentralConstants.METHOD_PREVIEW)); + // Custom CSV string to be used for tool adapters String customCSV = request.getParameter(CentralConstants.PARAM_CUSTOM_CSV); @@ -169,7 +172,7 @@ } else if (method.equals(CentralConstants.METHOD_PREVIEW)) { ldId = new Long(ldIdStr); - Long lessonId = startPreview(serverId, datetime, hashValue, username, ldId, courseId, title, desc, + Long lessonId = startPreview(serverId, datetime, hashValue, username, ldId, title, desc, country, lang, customCSV, presenceEnable, imEnable); element = document.createElement(CentralConstants.ELEM_LESSON); @@ -525,15 +528,13 @@ } public Long startPreview(String serverId, String datetime, String hashValue, String username, Long ldId, - String courseId, String title, String desc, String countryIsoCode, String langIsoCode, String customCSV, + String title, String desc, String countryIsoCode, String langIsoCode, String customCSV, boolean presenceEnable, boolean imEnable) throws RemoteException { try { ExtServerOrgMap serverMap = LessonManagerServlet.integrationService.getExtServerOrgMap(serverId); Authenticator.authenticate(serverMap, datetime, username, hashValue); ExtUserUseridMap userMap = LessonManagerServlet.integrationService.getExtUserUseridMap(serverMap, username); - ExtCourseClassMap orgMap = LessonManagerServlet.integrationService.getExtCourseClassMap(serverMap, userMap, - courseId, countryIsoCode, langIsoCode, null, LoginRequestDispatcher.METHOD_MONITOR); Integer userId = userMap.getUser().getUserId(); // 1. init lesson Index: lams_common/src/java/org/lamsfoundation/lams/integration/util/LoginRequestDispatcher.java =================================================================== diff -u -r9b2295f9a446dd4eabaa77f1dfd188e593cbe372 -rbab5898426658f44cb5ee1a7911a1966578344ef --- lams_common/src/java/org/lamsfoundation/lams/integration/util/LoginRequestDispatcher.java (.../LoginRequestDispatcher.java) (revision 9b2295f9a446dd4eabaa77f1dfd188e593cbe372) +++ lams_common/src/java/org/lamsfoundation/lams/integration/util/LoginRequestDispatcher.java (.../LoginRequestDispatcher.java) (revision bab5898426658f44cb5ee1a7911a1966578344ef) @@ -91,8 +91,10 @@ // with lesson id parameter public static final String METHOD_LEARNER_STRICT_AUTHENTICATION = "learnerStrictAuth"; - public static final String PARAM_LESSON_ID = "lsid"; + public static final String PARAM_LEARNING_DESIGN_ID = "ldId"; + public static final String PARAM_LESSON_ID = "lsid"; + private static final String URL_DEFAULT = "/index.jsp"; private static final String URL_AUTHOR = "/home.do?method=author"; @@ -147,6 +149,7 @@ String requestSrc = request.getParameter(PARAM_REQUEST_SRC); String notifyCloseURL = request.getParameter(AttributeNames.PARAM_NOTIFY_CLOSE_URL); String isPostMessageToParent = request.getParameter(PARAM_IS_POST_MESSAGE_TO_PARENT); + String ldID = request.getParameter(PARAM_LEARNING_DESIGN_ID); // Custom CSV string to be used for tool adapters String customCSV = request.getParameter(PARAM_CUSTOM_CSV); @@ -156,6 +159,7 @@ // append the extra parameters if they are present in the request try { + parameters = ldID != null ? parameters + "&learningDesignID" + "=" + ldID : parameters; parameters = customCSV != null ? parameters + "&" + PARAM_CUSTOM_CSV + "=" + customCSV : parameters; parameters = extLmsId != null ? parameters + "&" + PARAM_EXT_LMS_ID + "=" + extLmsId : parameters; parameters = requestSrc != null ? parameters + "&" + PARAM_REQUEST_SRC + "="