From 3955ee2699576fb62f833a2a771d61ad81d27d9d Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Mon, 17 Oct 2016 10:36:25 +0200 Subject: [PATCH] OO-2277: show an error message instead of a red screen if the QTI 2.1 preview cannot rendered the assessment item --- .../ims/qti21/ui/AssessmentItemDisplayController.java | 8 ++++++-- src/main/java/org/olat/ims/qti21/ui/_content/error.html | 1 + .../olat/ims/qti21/ui/_i18n/LocalStrings_de.properties | 1 + .../olat/ims/qti21/ui/_i18n/LocalStrings_en.properties | 1 + 4 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 src/main/java/org/olat/ims/qti21/ui/_content/error.html diff --git a/src/main/java/org/olat/ims/qti21/ui/AssessmentItemDisplayController.java b/src/main/java/org/olat/ims/qti21/ui/AssessmentItemDisplayController.java index 4a512118a28..d99f0ae7b94 100644 --- a/src/main/java/org/olat/ims/qti21/ui/AssessmentItemDisplayController.java +++ b/src/main/java/org/olat/ims/qti21/ui/AssessmentItemDisplayController.java @@ -131,7 +131,9 @@ public class AssessmentItemDisplayController extends BasicController implements itemSessionController = enterSession(ureq); - if (itemSessionController.getItemSessionState().isEnded()) { + if(itemSessionController == null) { + mainVC = createVelocityContainer("error"); + } else if (itemSessionController.getItemSessionState().isEnded()) { mainVC = createVelocityContainer("end"); } else { mainVC = createVelocityContainer("run"); @@ -156,7 +158,9 @@ public class AssessmentItemDisplayController extends BasicController implements itemSessionController = enterSession(ureq); - if (itemSessionController.getItemSessionState().isEnded()) { + if(itemSessionController == null) { + mainVC = createVelocityContainer("error"); + } else if (itemSessionController.getItemSessionState().isEnded()) { mainVC = createVelocityContainer("end"); } else { mainVC = createVelocityContainer("run"); diff --git a/src/main/java/org/olat/ims/qti21/ui/_content/error.html b/src/main/java/org/olat/ims/qti21/ui/_content/error.html new file mode 100644 index 00000000000..1153341a979 --- /dev/null +++ b/src/main/java/org/olat/ims/qti21/ui/_content/error.html @@ -0,0 +1 @@ +<div class="o_error">$r.translate("error.assessment.item")</div> \ No newline at end of file diff --git a/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_de.properties index 5fb13b444fb..7c92b57d65c 100644 --- a/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_de.properties @@ -60,6 +60,7 @@ debug.outcomes=Output Daten debug.responses=Antworten Daten error.as.directed=Bitte f\u00FCllen Sie diese Frage wie verwiesen. error.as.directed.kprim=Bitte f\u00FCllen Sie diese Frage wie verwiesen. +error.assessment.item=Die Datei konnte nicht gelesen werden. Sie ist entweder korrupt oder mit dem falschen Format gespeichert. error.choice=Sie m\u00FCssen ein von den folgenden Optionen w\u00E4hlen. error.double=Falsches Zahlenformat. Beispiele\: 15.0, 5.5, 10 error.input.choice.max=W\u00E4hlen Sie die {0} zutreffenden Antworten. diff --git a/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_en.properties index 6ca9d29cffb..0c45e98a3bb 100644 --- a/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_en.properties @@ -60,6 +60,7 @@ debug.outcomes=Output data debug.responses=Responses data error.as.directed=Please complete this interaction as directed. error.as.directed.kprim=Please complete this interaction as directed. +error.assessment.item=The file cannot be interpreted. It seems corrupted or with the wrong format. error.choice=You must select one of the following options error.double=Need to be a double error.input.choice.max=You must select at the most {0} choices. -- GitLab