Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/LearningController.java =================================================================== diff -u -r8eefd9a2f57ce5b05eb75908e36bb042c5fe7fce -rce0d192a20a8de9861342e3e3179cae23f2939a9 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/LearningController.java (.../LearningController.java) (revision 8eefd9a2f57ce5b05eb75908e36bb042c5fe7fce) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/LearningController.java (.../LearningController.java) (revision ce0d192a20a8de9861342e3e3179cae23f2939a9) @@ -975,29 +975,29 @@ questionDto.setMark(questionResult.getMark()); questionDto.setResponseSubmitted(questionResult.getFinishDate() != null); questionDto.setPenalty(questionResult.getPenalty()); + + //question feedback questionDto.setQuestionFeedback(null); - questionDto.setAnswerBoolean(false); + for (OptionDTO optionDto : questionDto.getOptionDtos()) { + if (questionResult.getQbOption() != null + && optionDto.getUid().equals(questionResult.getQbOption().getUid())) { + questionDto.setQuestionFeedback(optionDto.getFeedback()); + break; + } + } + // required for showing right/wrong answers icons on results page correctly if ((questionDto.getType() == QbQuestion.TYPE_SHORT_ANSWER || questionDto.getType() == QbQuestion.TYPE_NUMERICAL) && questionResult.getQbOption() != null) { - - // required for showing right/wrong answers icons on results page correctly + boolean isAnsweredCorrectly = false; for (OptionDTO optionDto : questionDto.getOptionDtos()) { if (optionDto.getUid().equals(questionResult.getQbOption().getUid())) { - boolean isAnsweredCorrectly = optionDto.getMaxMark() > 0; - questionDto.setAnswerBoolean(isAnsweredCorrectly); + isAnsweredCorrectly = optionDto.getMaxMark() > 0; break; } } - - //question feedback - for (OptionDTO optionDto : questionDto.getOptionDtos()) { - if (optionDto.getUid().equals(questionResult.getQbOption().getUid())) { - questionDto.setQuestionFeedback(optionDto.getFeedback()); - break; - } - } + questionDto.setAnswerBoolean(isAnsweredCorrectly); } // required for markandpenalty area and if it's on - on question's summary page