Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/MonitoringController.java =================================================================== diff -u -r91dd1fe3e865ca0e68c7548367cecbd1d58d83b4 -r9b30f3849c88a7748e0bc7e88d106ab638b9c388 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 91dd1fe3e865ca0e68c7548367cecbd1d58d83b4) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 9b30f3849c88a7748e0bc7e88d106ab638b9c388) @@ -607,13 +607,22 @@ /** * Allows displaying correct answers to learners + * + * @throws IOException */ @RequestMapping(path = "/discloseCorrectAnswers", method = RequestMethod.POST) - public void discloseCorrectAnswers(HttpServletRequest request, HttpServletResponse response) { + public void discloseCorrectAnswers(HttpServletRequest request, HttpServletResponse response) throws IOException { Long questionUid = WebUtil.readLongParam(request, "questionUid"); Long toolContentId = WebUtil.readLongParam(request, AssessmentConstants.PARAM_TOOL_CONTENT_ID); AssessmentQuestion question = service.getAssessmentQuestionByUid(questionUid); + if (question.isCorrectAnswersDisclosed()) { + log.warn( + "Trying to disclose correct answers when they are already disclosed for Assessment tool content ID " + + toolContentId + " and question UID: " + questionUid); + response.sendError(HttpServletResponse.SC_BAD_REQUEST); + return; + } question.setCorrectAnswersDisclosed(true); service.updateAssessmentQuestion(question); @@ -627,13 +636,22 @@ /** * Allows displaying other groups' answers to learners + * + * @throws IOException */ @RequestMapping(path = "/discloseGroupsAnswers", method = RequestMethod.POST) - public void discloseGroupsAnswers(HttpServletRequest request, HttpServletResponse response) { + public void discloseGroupsAnswers(HttpServletRequest request, HttpServletResponse response) throws IOException { Long questionUid = WebUtil.readLongParam(request, "questionUid"); Long toolContentId = WebUtil.readLongParam(request, AssessmentConstants.PARAM_TOOL_CONTENT_ID); AssessmentQuestion question = service.getAssessmentQuestionByUid(questionUid); + if (question.isGroupsAnswersDisclosed()) { + log.warn("Trying to disclose group answers when they are already disclosed for Assessment tool content ID " + + toolContentId + " and question UID: " + questionUid); + response.sendError(HttpServletResponse.SC_BAD_REQUEST); + return; + } + question.setGroupsAnswersDisclosed(true); service.updateAssessmentQuestion(question);