Index: lams_learning/src/java/org/lamsfoundation/lams/learning/service/ICoreLearnerService.java =================================================================== RCS file: /usr/local/cvsroot/lams_learning/src/java/org/lamsfoundation/lams/learning/service/ICoreLearnerService.java,v diff -u -r1.2 -r1.3 --- lams_learning/src/java/org/lamsfoundation/lams/learning/service/ICoreLearnerService.java 25 Jul 2006 01:22:49 -0000 1.2 +++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/ICoreLearnerService.java 15 Sep 2006 01:24:53 -0000 1.3 @@ -167,7 +167,7 @@ * @param userId * @param lessonId */ - public void exitLesson(Long progressId); + public void exitLesson(Integer learnerId, Long lessonId); /** * Returns an activity according to the activity id. Index: lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java =================================================================== RCS file: /usr/local/cvsroot/lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java,v diff -u -r1.56 -r1.57 --- lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java 13 Sep 2006 07:11:17 -0000 1.56 +++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java 15 Sep 2006 01:24:53 -0000 1.57 @@ -434,9 +434,13 @@ * Exit a lesson. * @see org.lamsfoundation.lams.learning.service.ICoreLearnerService#exitLesson(org.lamsfoundation.lams.lesson.LearnerProgress) */ - public void exitLesson(Long lessonId) + public void exitLesson(Integer learnerId, Long lessonId) { - LearnerProgress progress = learnerProgressDAO.getLearnerProgress(lessonId); + + User learner = (User)userManagementService.findById(User.class,learnerId); + + LearnerProgress progress = learnerProgressDAO.getLearnerProgressByLearner(learner.getUserId(),lessonId); + if ( progress != null ) { progress.setRestarting(true); learnerProgressDAO.updateLearnerProgress(progress); Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LearnerAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LearnerAction.java,v diff -u -r1.34 -r1.35 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LearnerAction.java 13 Sep 2006 07:11:17 -0000 1.34 +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LearnerAction.java 15 Sep 2006 01:24:53 -0000 1.35 @@ -222,13 +222,14 @@ FlashMessage message = null; try { - + // get user and lesson based on request. + Integer learner = LearningWebUtil.getUserId(); Long lessonID = WebUtil.readLongParam(request,AttributeNames.PARAM_LESSON_ID); if(log.isDebugEnabled()) log.debug("Exiting lesson, lesson id is: "+lessonID); - learnerService.exitLesson(lessonID); + learnerService.exitLesson(learner, lessonID); //send acknowledgment to flash as it is triggered by flash message = new FlashMessage("exitLesson", true);