Index: lams_tool_assessment/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -rb9300513239d652c59e3bfd190d0973295844f37 -r2fe063fefbb629bb00bfa6781e3bfb9071aba7b9 --- lams_tool_assessment/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision b9300513239d652c59e3bfd190d0973295844f37) +++ lams_tool_assessment/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 2fe063fefbb629bb00bfa6781e3bfb9071aba7b9) @@ -325,6 +325,7 @@ label.attendance =Attendance label.show.students.choices =Show students' choices label.hide.students.choices =Hide students' choices +label.student.choices =Student's choices label.print =Print label.excel.export =Excel export label.teams =Teams Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/MonitoringController.java =================================================================== diff -u -r176148cb89d309b36c840ababb3ccdf182897ada -r2fe063fefbb629bb00bfa6781e3bfb9071aba7b9 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 176148cb89d309b36c840ababb3ccdf182897ada) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 2fe063fefbb629bb00bfa6781e3bfb9071aba7b9) @@ -43,11 +43,14 @@ import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.lamsfoundation.lams.qb.dto.QbStatsActivityDTO; +import org.lamsfoundation.lams.qb.model.QbQuestion; import org.lamsfoundation.lams.qb.service.IQbService; import org.lamsfoundation.lams.tool.assessment.AssessmentConstants; import org.lamsfoundation.lams.tool.assessment.dto.AssessmentResultDTO; import org.lamsfoundation.lams.tool.assessment.dto.AssessmentUserDTO; import org.lamsfoundation.lams.tool.assessment.dto.LeaderResultsDTO; +import org.lamsfoundation.lams.tool.assessment.dto.OptionDTO; +import org.lamsfoundation.lams.tool.assessment.dto.QuestionDTO; import org.lamsfoundation.lams.tool.assessment.dto.QuestionSummary; import org.lamsfoundation.lams.tool.assessment.dto.ReflectDTO; import org.lamsfoundation.lams.tool.assessment.dto.SessionDTO; @@ -166,6 +169,44 @@ sessionMap.put(AssessmentConstants.ATTR_TOOL_CONTENT_ID, contentId); sessionMap.put(AttributeNames.PARAM_CONTENT_FOLDER_ID, WebUtil.readStrParam(request, AttributeNames.PARAM_CONTENT_FOLDER_ID)); + + // display student choices only if all questions are multiple choice + boolean displayStudentChoices = true; + int maxOptionsInQuestion = 0; + for (AssessmentQuestion question : assessment.getQuestions()) { + if (question.getType() == QbQuestion.TYPE_MULTIPLE_CHOICE) { + int optionsInQuestion = question.getQbQuestion().getQbOptions().size(); + if (optionsInQuestion > maxOptionsInQuestion) { + maxOptionsInQuestion = optionsInQuestion; + } + } else { + displayStudentChoices = false; + break; + } + } + + request.setAttribute("displayStudentChoices", displayStudentChoices); + if (displayStudentChoices) { + request.setAttribute("maxOptionsInQuestion", maxOptionsInQuestion); + + int totalNumberOfUsers = service.getCountUsersByContentId(contentId); + + Set questionDtos = new TreeSet<>(); + for (AssessmentQuestion question : assessment.getQuestions()) { + QuestionDTO questionDto = new QuestionDTO(question); + questionDtos.add(questionDto); + + // build candidate dtos + for (OptionDTO optionDto : questionDto.getOptionDtos()) { + int optionAttemptCount = service.countAttemptsPerOption(contentId, optionDto.getUid()); + + float percentage = (float) (optionAttemptCount * 100) / totalNumberOfUsers; + optionDto.setPercentage(percentage); + } + } + request.setAttribute("questions", questionDtos); + } + return "pages/monitoring/monitoring"; } Index: lams_tool_assessment/web/pages/monitoring/summary.jsp =================================================================== diff -u -re6dc4db4137cfd6b07a4aa79711b9d12b39fb78e -r2fe063fefbb629bb00bfa6781e3bfb9071aba7b9 --- lams_tool_assessment/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision e6dc4db4137cfd6b07a4aa79711b9d12b39fb78e) +++ lams_tool_assessment/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision 2fe063fefbb629bb00bfa6781e3bfb9071aba7b9) @@ -326,6 +326,13 @@ + +
+ + + <%@ include file="/pages/monitoring/parts/mcqStudentChoices.jsp" %> +
+