From 53d94d30cdef36ac48e778dff0c3f113ccd7213a Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Wed, 28 Jun 2017 10:06:30 +0200 Subject: [PATCH] OO-2847: aggregate the max score from the questions and not from the test variable --- .../org/olat/ims/qti21/ui/AssessmentResultController.java | 6 +++++- .../olat/ims/qti21/ui/AssessmentTestDisplayController.java | 5 ----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/olat/ims/qti21/ui/AssessmentResultController.java b/src/main/java/org/olat/ims/qti21/ui/AssessmentResultController.java index 22384ff38a1..1239e173bd4 100644 --- a/src/main/java/org/olat/ims/qti21/ui/AssessmentResultController.java +++ b/src/main/java/org/olat/ims/qti21/ui/AssessmentResultController.java @@ -246,7 +246,8 @@ public class AssessmentResultController extends FormBasicController { String signatureUrl = signatureMapperUri + "/assessmentResultSignature.xml"; layoutCont.contextPut("signatureUrl", signatureUrl); } - + + testResults.setMaxScore(null);//reset max score and aggregate initFormSections(layoutCont, testResults); } } @@ -286,6 +287,9 @@ public class AssessmentResultController extends FormBasicController { if(results.sessionStatus == SessionStatus.FINAL) { testResults.setNumberOfAnsweredQuestions(testResults.getNumberOfAnsweredQuestions() + 1); } + if(results.hasMaxScore()) { + testResults.addMaxScore(results); + } } } } diff --git a/src/main/java/org/olat/ims/qti21/ui/AssessmentTestDisplayController.java b/src/main/java/org/olat/ims/qti21/ui/AssessmentTestDisplayController.java index ccf1d08e577..54da0a8e831 100644 --- a/src/main/java/org/olat/ims/qti21/ui/AssessmentTestDisplayController.java +++ b/src/main/java/org/olat/ims/qti21/ui/AssessmentTestDisplayController.java @@ -2019,11 +2019,6 @@ public class AssessmentTestDisplayController extends BasicController implements if(assessmentTestScoreValue instanceof FloatValue) { score = ((FloatValue)assessmentTestScoreValue).doubleValue(); } - Value assessmentTestMaxScoreValue = testSessionController.getTestSessionState() - .getOutcomeValue(QTI21Constants.MAXSCORE_IDENTIFIER); - if(assessmentTestMaxScoreValue instanceof FloatValue) { - maxScore = ((FloatValue)assessmentTestMaxScoreValue).doubleValue(); - } qtiWorksStatus.setScore(score); qtiWorksStatus.setMaxScore(maxScore); -- GitLab