Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaService.java =================================================================== diff -u -rf86004309489cb81f283d1962b481b4bbb3facd6 -r82e2146d85cc34f3724d59e0f1f678c1712ca329 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaService.java (.../QaService.java) (revision f86004309489cb81f283d1962b481b4bbb3facd6) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaService.java (.../QaService.java) (revision 82e2146d85cc34f3724d59e0f1f678c1712ca329) @@ -560,6 +560,12 @@ return; } + if (existingLeader.isResponseFinalized() || existingLeader.isLearnerFinished()) { + throw new InvalidParameterException( + "Attempting to assing a new leader with user ID " + leaderUserId + " to a session wtih ID " + + toolSessionId + " after response has been submitted by existing leader."); + } + QaQueUsr newLeader = getUserByIdAndSession(leaderUserId, toolSessionId); if (newLeader == null) { return; Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/LearningController.java =================================================================== diff -u -r0b845931db55d90f0dcabc0b33cce5c7df688153 -r82e2146d85cc34f3724d59e0f1f678c1712ca329 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/LearningController.java (.../LearningController.java) (revision 0b845931db55d90f0dcabc0b33cce5c7df688153) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/LearningController.java (.../LearningController.java) (revision 82e2146d85cc34f3724d59e0f1f678c1712ca329) @@ -434,6 +434,7 @@ //finalize response so user won't need to edit his answers again, if coming back to the activity after leaving activity at this point if (errorMap.isEmpty()) { + qaQueUsr.setResponseFinalized(true); qaService.updateUser(qaQueUsr); @@ -442,7 +443,6 @@ request.setAttribute("errorMap", errorMap); forwardName = QaAppConstants.LOAD_LEARNER; } - generalLearnerFlowDTO.setMapAnswers(mapAnswers); generalLearnerFlowDTO.setMapAnswersPresentable(mapAnswersPresentable); Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/MonitoringController.java =================================================================== diff -u -rf86004309489cb81f283d1962b481b4bbb3facd6 -r82e2146d85cc34f3724d59e0f1f678c1712ca329 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/MonitoringController.java (.../MonitoringController.java) (revision f86004309489cb81f283d1962b481b4bbb3facd6) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 82e2146d85cc34f3724d59e0f1f678c1712ca329) @@ -129,7 +129,9 @@ groupDTO.setSessionName(sessionName); groupDTO.setSessionId(sessionId); groupDTO.setNumberOfLearners(session.getQaQueUsers().size()); - groupDTO.setSessionFinished(QaAppConstants.COMPLETED.equals(session.getSession_status())); + groupDTO.setSessionFinished(QaAppConstants.COMPLETED.equals(session.getSession_status()) + || (qaContent.isUseSelectLeaderToolOuput() && session.getGroupLeader() != null + && session.getGroupLeader().isResponseFinalized())); groupDTOs.add(groupDTO); } request.setAttribute(LIST_ALL_GROUPS_DTO, groupDTOs);