Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java =================================================================== diff -u -r3bfbf85ce0639b4cd2957e34a978a22da5e7d66f -rbefa187241ad2ef3b01a8bc1041b7e6077dca62b --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision 3bfbf85ce0639b4cd2957e34a978a22da5e7d66f) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision befa187241ad2ef3b01a8bc1041b7e6077dca62b) @@ -1132,8 +1132,14 @@ throw new MonitoringServiceException(e); } + }else if(activity.isBranchingActivity() || activity.isOptionsActivity() ){ + // Can force complete over a branching activity, but none of the branches are marked as done. + // Ditto the two types of optional activities. + // Then if the user goes back to them, they will operate normally. + learnerService.completeActivity(learner.getUserId(), activity, lessonId); + }else if(activity.isComplexActivity()){ - //for complex activities:SEQUENCE ACTIVITY,PARALLEL ACTIVITY,OPTIONS ACTIVITY + // expect it to be a parallel activity ComplexActivity complexActivity = (ComplexActivity) activity; Set allActivities = complexActivity.getActivities(); Iterator iter = allActivities.iterator();