Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/LearningWebUtil.java =================================================================== diff -u -rd0b6f213cba1026b0c9fdbdaa5dd44a49eddd3aa -rd0b61f7c432d03391a0e082bedc99c147959cd28 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/LearningWebUtil.java (.../LearningWebUtil.java) (revision d0b6f213cba1026b0c9fdbdaa5dd44a49eddd3aa) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/LearningWebUtil.java (.../LearningWebUtil.java) (revision d0b61f7c432d03391a0e082bedc99c147959cd28) @@ -21,7 +21,6 @@ * **************************************************************** */ - package org.lamsfoundation.lams.learning.web.util; import java.io.UnsupportedEncodingException; @@ -222,7 +221,6 @@ if (currentActivity == null) { progress = learnerService.joinLesson(learnerId, lesson.getLessonId()); } else if (progress.getCompletedActivities().containsKey(currentActivity)) { - // recalculate activity mark and pass it to gradebook learnerService.updateGradebookMark(currentActivity, progress); @@ -231,7 +229,8 @@ progress = learnerService.completeActivity(learnerId, currentActivity, progress); } - if ((currentActivity != null) && currentActivity.isFloating()) { + if (currentActivity != null && (currentActivity.isFloating() || (currentActivity.getParentActivity() != null + && progress.getCompletedActivities().containsKey(currentActivity.getParentActivity())))) { return actionMappings.getCloseForward(currentActivity, lesson.getLessonId()); }