Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/monitoringApplicationContext.xml
===================================================================
diff -u -r0518a3936fdb10eaa521ba9c1c15364ab829db06 -r58daf95f59242b997de7f49a9d81ee9c1c104d5f
--- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/monitoringApplicationContext.xml (.../monitoringApplicationContext.xml) (revision 0518a3936fdb10eaa521ba9c1c15364ab829db06)
+++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/monitoringApplicationContext.xml (.../monitoringApplicationContext.xml) (revision 58daf95f59242b997de7f49a9d81ee9c1c104d5f)
@@ -46,7 +46,6 @@
Tries to copy the design into the user's default runtime sequence folder. If + * this is not available, then it is copied into the existing folder.
* @see org.lamsfoundation.lams.monitoring.service.IMonitoringService#createLesson(long, org.lamsfoundation.lams.usermanagement.User, java.util.List, java.util.List) */ public Lesson initializeLesson(String lessonName, String lessonDescription, long learningDesignId, - User user) + Integer userID) { + LearningDesign originalLearningDesign = authoringService.getLearningDesign(new Long(learningDesignId)); if ( originalLearningDesign == null) { throw new MonitoringServiceException("Learning design for id="+learningDesignId+" is missing. Unable to initialize lesson."); } + // The duplicated sequence should go in the run sequences folder, so we had better + // wourk out what the folder is! + User user = (userID != null ? userManagementService.getUserById(userID) : null); + Workspace workspace = (user != null ? user.getWorkspace() : null); + WorkspaceFolder destinationFolder = ( workspace!=null ? workspace.getDefaultRunSequencesFolder() : null); + if ( destinationFolder == null ) { + log.error("initializeLesson: Copying learning design "+learningDesignId+" for userID "+userID + +". Unable to determine runtime sequence folder - copying into folder of the original design"); + destinationFolder = originalLearningDesign.getWorkspaceFolder(); + } + //copy the current learning design LearningDesign copiedLearningDesign = authoringService.copyLearningDesign(originalLearningDesign, new Integer(LearningDesign.COPY_TYPE_LESSON), user, - originalLearningDesign.getWorkspaceFolder()); + destinationFolder); // copy the tool content // unfortuanately, we have to reaccess the activities to make sure we get the // subclass, not a hibernate proxy. @@ -530,7 +522,7 @@ */ public String getLearnerActivityURL(Long activityID,Integer userID)throws IOException, LamsToolServiceException{ Activity activity = activityDAO.getActivityByActivityId(activityID); - User user = userDAO.getUserById(userID); + User user = userManagementService.getUserById(userID); FlashMessage flashMessage; if(activity==null || user==null){ flashMessage = new FlashMessage("getLearnerActivityURL", Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/DummyMonitoringAction.java =================================================================== diff -u -r56e8c3e875e12ad1764f848b8cd97d505cebd823 -r58daf95f59242b997de7f49a9d81ee9c1c104d5f --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/DummyMonitoringAction.java (.../DummyMonitoringAction.java) (revision 56e8c3e875e12ad1764f848b8cd97d505cebd823) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/DummyMonitoringAction.java (.../DummyMonitoringAction.java) (revision 58daf95f59242b997de7f49a9d81ee9c1c104d5f) @@ -163,6 +163,8 @@ // set up all the data needed DummyForm dummyForm = (DummyForm) form; + // Must have User, rather than UserDTO as the createLessonClassForLesson must have + // a proper user objcet in the staffs list. User user = getUser(); Long ldId = dummyForm.getLearningDesignId(); @@ -182,7 +184,7 @@ if ( desc == null ) desc = "description"; // initialize the lesson - Lesson testLesson = monitoringService.initializeLesson(title,desc,ldId.longValue(),user); + Lesson testLesson = monitoringService.initializeLesson(title,desc,ldId.longValue(),user.getUserId()); // create the lesson class - add all the users in this organisation to the lesson class // add user as staff Index: lams_monitoring/test/java/org/lamsfoundation/lams/monitoring/service/TestMonitoringService.java =================================================================== diff -u -r04ddbcceec831fcb71c1c9d160300569ac1547f6 -r58daf95f59242b997de7f49a9d81ee9c1c104d5f --- lams_monitoring/test/java/org/lamsfoundation/lams/monitoring/service/TestMonitoringService.java (.../TestMonitoringService.java) (revision 04ddbcceec831fcb71c1c9d160300569ac1547f6) +++ lams_monitoring/test/java/org/lamsfoundation/lams/monitoring/service/TestMonitoringService.java (.../TestMonitoringService.java) (revision 58daf95f59242b997de7f49a9d81ee9c1c104d5f) @@ -25,7 +25,6 @@ import javax.sql.DataSource; -import org.lamsfoundation.lams.test.AbstractLamsTestCase; import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.learningdesign.GateActivity; import org.lamsfoundation.lams.learningdesign.Grouping; @@ -34,6 +33,7 @@ import org.lamsfoundation.lams.lesson.Lesson; import org.lamsfoundation.lams.lesson.dao.ILessonDAO; import org.lamsfoundation.lams.lesson.dao.hibernate.LessonDAO; +import org.lamsfoundation.lams.test.AbstractLamsTestCase; import org.lamsfoundation.lams.tool.exception.LamsToolServiceException; import org.lamsfoundation.lams.usermanagement.Organisation; import org.lamsfoundation.lams.usermanagement.User; @@ -148,7 +148,7 @@ Lesson testLesson = monitoringService.initializeLesson("Test_Lesson", "Test_Description", TEST_LEARNING_DESIGN_ID, - testUser); + testUser.getUserId()); TEST_LESSON_ID=testLesson.getLessonId(); Lesson createdLesson = lessonDao.getLesson(TEST_LESSON_ID); assertNotNull(createdLesson);