Index: lams_learning/src/java/org/lamsfoundation/lams/learning/progress/ProgressEngine.java =================================================================== RCS file: /usr/local/cvsroot/lams_learning/src/java/org/lamsfoundation/lams/learning/progress/ProgressEngine.java,v diff -u -r1.28 -r1.29 --- lams_learning/src/java/org/lamsfoundation/lams/learning/progress/ProgressEngine.java 21 Nov 2007 00:46:28 -0000 1.28 +++ lams_learning/src/java/org/lamsfoundation/lams/learning/progress/ProgressEngine.java 26 Feb 2008 22:49:48 -0000 1.29 @@ -89,7 +89,12 @@ if ( completedActivity.isStopAfterActivity() ) { // special case - terminate the lesson here. - populateCurrentCompletedActivityList(learnerProgress, completedActivityList); + learnerProgress.setProgressState(completedActivity, LearnerProgress.ACTIVITY_COMPLETED,activityDAO); + for ( Activity parentActivity = completedActivity.getParentActivity() ; parentActivity != null; parentActivity = parentActivity.getParentActivity() ) { + learnerProgress.setProgressState(parentActivity, LearnerProgress.ACTIVITY_COMPLETED,activityDAO); + completedActivityList.add(parentActivity.getActivityId()); + } + populateCurrentCompletedActivityList(learnerProgress, completedActivityList); return setLessonComplete(learnerProgress); } else { Transition transition = completedActivity.getTransitionFrom(); @@ -349,6 +354,7 @@ */ private LearnerProgress setLessonComplete(LearnerProgress learnerProgress) { learnerProgress.setCurrentActivity(null); + learnerProgress.setNextActivity(null); learnerProgress.setLessonComplete(true); return learnerProgress; }