Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/ComplexLearnerProgressAction.java =================================================================== diff -u -r00f9d4e2b438651181a3e7ccb29e914b69a9dc2a -rf4e88d008fdc553b7e329a8d2d43544fca0a2768 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/ComplexLearnerProgressAction.java (.../ComplexLearnerProgressAction.java) (revision 00f9d4e2b438651181a3e7ccb29e914b69a9dc2a) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/ComplexLearnerProgressAction.java (.../ComplexLearnerProgressAction.java) (revision f4e88d008fdc553b7e329a8d2d43544fca0a2768) @@ -126,8 +126,9 @@ ContributeActivityDTO dto = new ContributeActivityDTO(a); subActivities.add(dto); - statusMap.put(a.getActivityId(), learnerProgress.getProgressState(a)); - + Byte status = learnerProgress.getProgressState(a); + statusMap.put(a.getActivityId(), status); + if (a.isSequenceActivity()) { request.setAttribute("hasSequenceActivity", true); // map learner progress urls of each activity in the sequence @@ -136,6 +137,10 @@ processSequenceChildren(lessonID, userID, monitoringService, user, statusMap, urlMap, learnerProgress, sequenceActivity, dto, null); + } else { + if (status.equals(LearnerProgress.ACTIVITY_ATTEMPTED) || status.equals(LearnerProgress.ACTIVITY_COMPLETED)) { + urlMap.put(a.getActivityId(), monitoringService.getLearnerActivityURL(lessonID, a.getActivityId(), userID, user.getUserID())); + } } }