#if($title)

$r.translate("head.assessment.details") #if($userDisplayName) $r.translate("results.title.for", "$userDisplayName") #end

#end #if($print)
$r.translate("print")
#end
#if($r.visible("assessedIdentityInfos")) $r.render("assessedIdentityInfos") #end #if($r.isNotNull($testSessionNotFound) && $testSessionNotFound)
$r.translate("assessment.test.session.reseted")
#end
#if(${testResults.hasPass()} && $testResults.metadataVisible) #if(${testResults.getPass().booleanValue()})

$r.translate("results.title.passed")

#elseif(!${testResults.getPass().booleanValue()})

$r.translate("results.title.failed")

#else

$r.translate("results.title.generic")

#end #else

$r.translate("results.title.generic")

#end #if($testResults.metadataVisible)
## START left column
#if(${testResults.hasScore()}) #end #if ($testResults.cutValue) #end #if(${testResults.hasPass()}) #end #if($r.isNotNull($signatureUrl)) #end #if ($testResults.numberOfSections == 1) #set($itemResult = $itemResults.get(0)) #if($r.isNotEmpty($itemResult.getSubResults())) #end #end
$r.translate("results.duration") $r.formatDurationInMillis($testResults.duration)
$r.translate("question.progress.answered")
$testResults.numberOfAnsweredQuestions $r.translate("results.of") $testResults.numberOfQuestions $r.translate("results.of.questions") (${testResults.numberOfAnsweredQuestionsPercent}%)
$r.translate("results.score.yourscore")
#if ($testResults.hasMaxScore()) #if ($testResults.maxScore == "-1.0") $testResults.score $r.translate("results.points") ($r.translate("question.progress.noMaxScore")) #else $testResults.score $r.translate("results.of") $testResults.maxScore $r.translate("results.of.points") #end #else $testResults.score #end (${testResults.scorePercent}%)
$r.translate("score.cut") $testResults.cutValue
$r.translate("passed.yourpassed") #if(${testResults.getPass().booleanValue()}) $r.translate("passed.yes") #elseif(!${testResults.getPass().booleanValue()}) $r.translate("passed.no") #else $r.translateWithPackage("org.olat.course.nodes.st", "passed.noinfo") #end
$r.translate("digital.signature.download") $r.translate("digital.signature.download.link")
$r.translate("results.questions.overview")
#foreach($subResults in $itemResult.getSubResults()) #if(${subResults.isCorrect()}) #elseif(${subResults.isEnded()}) #else #end #end
## END left column / o_qti_metainfo_listing #if(${testResults.hasScore()})
## START right column
#if(${testResults.hasPass()}) #if(${testResults.getPass().booleanValue()}) #elseif(!${testResults.getPass().booleanValue()}) #end #end
${testResults.scorePercent}%
$r.translate("table.header.score"): $testResults.score
#if(${itemResult.hasMaxScore()})
$r.translate("results.of") $testResults.maxScore
#end
## END o_block_centered_wrapper
## END right column / o_qti_metainfo_visual #end
## END row #end
## END o_qti_metainfo #if (($r.isNotNull($testResults.numberOfSections) && $testResults.numberOfSections > 1) || !$options.isMetadata() )
#foreach($itemResult in $itemResults) #if(${itemResult.isSection()} && ${itemResult.metadataVisible})

$r.escapeHtml($itemResult.title)

#if(${itemResult.hasScore()})
## BG image for passed / failed image #if(${itemResult.hasPass()}) #if(${itemResult.getPass().booleanValue()}) #elseif(!${itemResult.getPass().booleanValue()}) #end #end
${itemResult.scorePercent}%
$r.translate("table.header.score"): $itemResult.score
#if(${itemResult.hasMaxScore()})
$r.translate("results.of") $itemResult.maxScore
#end
## END of radial-progress ## Animate radial score progress via JS
## END of o_performance_summary #end #if($options.isQuestionSummary() || $options.isQuestions() || $options.isUserSolutions() || $options.isCorrectSolutions()) #end ## The listing of items in the section, rendered as bullets #if($r.isNotEmpty($itemResult.getSubResults()))
#foreach($subResults in $itemResult.getSubResults()) #if(${subResults.isCorrect()}) #elseif(${subResults.isEnded()}) #else #end #end
#end
#end #end ## END #foreach($itemResult in $itemResults)
#end ## END $testResults.numberOfSections > 1 ## 2nd iteration: List Section titles and Items #if($options.isQuestionSummary() || $options.isQuestions() || $options.isUserSolutions() || $options.isCorrectSolutions())
#set($inItem = false) #set($inSection = false) #foreach($itemResult in $itemResults) ## Title for section or header. Close divs of last iteration. Structure: o_qti_section contains one o_qti_items container which contains several o_qti_item #if(${itemResult.isSection()}) ## Cleanup of last iteration: close items and section container #if ($inItem) ## END last o_qti_items
#set($inItem = false) #end #if ($inSection) ## END last o_qti_section
#if($options.isSectionSummary())
$r.translate("results.goto.overview")
#end #set($inSection = false) #end ## Start open section container
#set($inSection = true) ## Hide section title / metadata if there is only one section, redundant with test overview #if ($r.isNotNull($testResults.numberOfSections) && $testResults.numberOfSections > 1)

$r.escapeHtml($itemResult.title) #if($itemResult.metadataVisible) #if(${itemResult.hasScore()}) #if ($itemResult.hasMaxScore()) #if ($itemResult.maxScore == "-1.0") $itemResult.score $r.translate("results.points") ($r.translate("question.progress.noMaxScore")) #else $itemResult.score $r.translate("results.of") $itemResult.maxScore $r.translate("results.of.points") #end #else $itemResult.score #end (${itemResult.scorePercent}%) #end #end

#end #else ## this is an ITEM #if (!$inItem)
#end

$r.escapeHtml($itemResult.title)

#set($inItem = true) #if($itemResult.metadataVisible) #if(${itemResult.hasScore()}) #elseif(${itemResult.hasMaxScore()}) #end #if(${itemResult.hasPass()}) #end
ID $itemResult.itemIdentifier
$r.translate("results.session.status") #if(${itemResult.hasPass()}) #if(${itemResult.getPass().booleanValue()}) #elseif(!${itemResult.getPass().booleanValue()}) #end #end $itemResult.sessionStatus
$r.translate("results.score.yourscore")
$itemResult.score #if(${itemResult.hasMaxScore()}) / $itemResult.maxScore #end
${itemResult.scorePercent}%
${itemResult.scorePercent}%
$r.translate("score.max") $itemResult.maxScore
$r.translate("passed.yourpassed") #if(${itemResult.getPass().booleanValue()}) $r.translate("passed.yes") #elseif(!${itemResult.getPass().booleanValue()}) $r.translate("passed.no") #else $r.translateWithPackage("org.olat.course.nodes.st", "passed.noinfo") #end
#end ## END #if($itemResult.metadataVisible) #if($r.isNotEmpty($itemResult.comment))

$r.translate("results.comment")

$r.escapeHtml($itemResult.comment)
#end #if($options.isQuestions() || $options.isUserSolutions() || $options.isCorrectSolutions())
#if($r.isNotNull($itemResult.questionItem))

$r.translate("question")

$r.render($itemResult.questionItem.name)
#end #foreach($itemInteraction in $itemResult.interactionResults) #if($r.isNotNull($itemInteraction.responseFormItem.name) || $r.isNotNull($itemInteraction.solutionFormItem.name))
#if($r.isNotNull($itemInteraction.responseFormItem.name) && $r.isNotNull($itemInteraction.solutionFormItem.name))

$r.translate("response")

$r.render($itemInteraction.responseFormItem.name)

$r.translate("solution")

$r.render($itemInteraction.solutionFormItem.name)
#elseif($r.isNotNull($itemInteraction.responseFormItem.name))

$r.translate("response")

$r.render($itemInteraction.responseFormItem.name)
#else

$r.translate("solution")

$r.render($itemInteraction.solutionFormItem.name)
#end
#end #end #if($r.isNotNull($itemResult.correctSolutionItem))
#if(${itemResult.hasResponses()} && ${itemResult.hasSolutions()})
$r.render($itemResult.correctSolutionItem.name)
#else
$r.render($itemResult.correctSolutionItem.name)
#end
#end
## END of panel-body #end ##END #if($options.isQuestions() || $options.isUserSolutions() || $options.isCorrectSolutions())
## END of o_qti_item #end #end ## END foreach #if ($inItem) ## END o_qti_items
#end #if ($inSection) ## END last o_qti_section
#end ## END of o_qti_sections #if($options.isSectionSummary())
$r.translate("results.goto.overview")
#end #end ## END of #if($options.isQuestionSummary() || $options.isQuestions() || $options.isUserSolutions() || $options.isCorrectSolutions()) #if($printCommand) #end ## END of o_assessment_test_results