Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GroupingAction.java =================================================================== diff -u -rdc6d90820397a826b21cd7938e576d327cff7fd9 -rd09dc224527bdba2b69e5cfc8a159a69dc518ce5 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GroupingAction.java (.../GroupingAction.java) (revision dc6d90820397a826b21cd7938e576d327cff7fd9) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GroupingAction.java (.../GroupingAction.java) (revision d09dc224527bdba2b69e5cfc8a159a69dc518ce5) @@ -48,6 +48,7 @@ import org.lamsfoundation.lams.learningdesign.GroupingActivity; import org.lamsfoundation.lams.lesson.LearnerProgress; import org.lamsfoundation.lams.lesson.Lesson; +import org.lamsfoundation.lams.tool.ToolAccessMode; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.action.LamsDispatchAction; import org.lamsfoundation.lams.web.util.AttributeNames; @@ -184,11 +185,14 @@ if ( grouping != null) groups.addAll(grouping.getGroups()); - request.setAttribute(GROUPS,groups); - request.setAttribute(FINISHED_BUTTON,Boolean.TRUE); + + request.setAttribute(GROUPS,groups); request.setAttribute(LOCAL_FILES,Boolean.FALSE); request.setAttribute(AttributeNames.PARAM_ACTIVITY_ID, activity.getActivityId()); request.setAttribute(TITLE,activity.getTitle()); + + ToolAccessMode mode = WebUtil.readToolAccessModeParam(request,AttributeNames.PARAM_MODE, true); + request.setAttribute(FINISHED_BUTTON,new Boolean(mode == null || ! mode.isTeacher())); return mapping.findForward(SHOW_GROUP); } Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java =================================================================== diff -u -rca668f79995a896bc1f79a2e89af255a8fe7ef76 -rd09dc224527bdba2b69e5cfc8a159a69dc518ce5 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision ca668f79995a896bc1f79a2e89af255a8fe7ef76) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision d09dc224527bdba2b69e5cfc8a159a69dc518ce5) @@ -950,7 +950,7 @@ log.error("Force complete failed. Learner "+learner+" lessonId "+lessonId+" processing activity "+activity,e); stopReason = messageService.getMessage(FORCE_COMPLETE_STOP_MESSAGE_GROUPING_ERROR,new Object[]{activity.getTitle()}); } - learnerService.completeActivity(learner.getUserId(),activity); + learnerService.completeActivity(learner.getUserId(),activity,lessonId); if ( log.isDebugEnabled()) { log.debug("Grouping activity [" + activity.getActivityId() + "] is completed."); } @@ -960,7 +960,7 @@ } }else{ //if group already exist - learnerService.completeActivity(learner.getUserId(),activity); + learnerService.completeActivity(learner.getUserId(),activity,lessonId); if ( log.isDebugEnabled()) { log.debug("Grouping activity [" + activity.getActivityId() + "] is completed."); } @@ -970,7 +970,7 @@ GateActivity gate = (GateActivity) activity; if(learnerService.knockGate(gate,learner,false)){ //the gate is opened, continue to next activity to complete - learnerService.completeActivity(learner.getUserId(),activity); + learnerService.completeActivity(learner.getUserId(),activity,lessonId); if ( log.isDebugEnabled()) { log.debug("Gate activity [" + gate.getActivityId() + "] is completed."); }