Index: lams_learning/src/java/org/lamsfoundation/lams/learning/service/ICoreLearnerService.java =================================================================== diff -u -rf0bf73ab180670fb0051e6550d604e99ddab7520 -r99a2b8d3defbea6826858e734d4ca04cbdc56768 --- lams_learning/src/java/org/lamsfoundation/lams/learning/service/ICoreLearnerService.java (.../ICoreLearnerService.java) (revision f0bf73ab180670fb0051e6550d604e99ddab7520) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/ICoreLearnerService.java (.../ICoreLearnerService.java) (revision 99a2b8d3defbea6826858e734d4ca04cbdc56768) @@ -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 =================================================================== diff -u -r49e27afd23a5b873d800bb0bd341cc0a400f47d8 -r99a2b8d3defbea6826858e734d4ca04cbdc56768 --- lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java (.../LearnerService.java) (revision 49e27afd23a5b873d800bb0bd341cc0a400f47d8) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java (.../LearnerService.java) (revision 99a2b8d3defbea6826858e734d4ca04cbdc56768) @@ -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 =================================================================== diff -u -r49e27afd23a5b873d800bb0bd341cc0a400f47d8 -r99a2b8d3defbea6826858e734d4ca04cbdc56768 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LearnerAction.java (.../LearnerAction.java) (revision 49e27afd23a5b873d800bb0bd341cc0a400f47d8) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LearnerAction.java (.../LearnerAction.java) (revision 99a2b8d3defbea6826858e734d4ca04cbdc56768) @@ -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);