From ccd167301aef7b34477484e79c84f09991cd35f2 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Wed, 7 Mar 2012 12:07:15 +0100 Subject: [PATCH] OO-150: better check if a test is closed before trying to show it ( in case of back/resume) --HG-- branch : 80-patch --- .../java/org/olat/course/nodes/iq/IQRunController.java | 7 ++++++- src/main/java/org/olat/modules/iq/IQDisplayController.java | 5 +++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/olat/course/nodes/iq/IQRunController.java b/src/main/java/org/olat/course/nodes/iq/IQRunController.java index 4ca8dd71395..7447a8c8de8 100644 --- a/src/main/java/org/olat/course/nodes/iq/IQRunController.java +++ b/src/main/java/org/olat/course/nodes/iq/IQRunController.java @@ -393,7 +393,10 @@ public class IQRunController extends BasicController implements GenericEventList if(returnController instanceof IQDisplayController){ displayController = (IQDisplayController)returnController; listenTo(displayController); - if (displayController.isReady()) { + if(displayController.isClosed()) { + //do nothing + System.out.println(); + } else if (displayController.isReady()) { // in case displayController was unable to initialize, a message was set by displayController // this is the case if no more attempts or security check was unsuccessfull displayContainerController = new LayoutMain3ColsController(ureq, getWindowControl(), null, null, displayController.getInitialComponent(), null); @@ -421,6 +424,8 @@ public class IQRunController extends BasicController implements GenericEventList singleUserEventCenter.fireEventToListenersOf(new AssessmentEvent(AssessmentEvent.TYPE.STARTED, ureq.getUserSession()), assessmentEventOres); } }//endif isReady + + }else{ // -> qti file was locked -> show info message // user must click again on course node to activate diff --git a/src/main/java/org/olat/modules/iq/IQDisplayController.java b/src/main/java/org/olat/modules/iq/IQDisplayController.java index 00efa1e0302..3892d6b98d6 100644 --- a/src/main/java/org/olat/modules/iq/IQDisplayController.java +++ b/src/main/java/org/olat/modules/iq/IQDisplayController.java @@ -344,6 +344,11 @@ public class IQDisplayController extends DefaultController implements Activateab return ready; } + public boolean isClosed() { + if(qticomp == null) return true; + AssessmentInstance ai = qticomp.getAssessmentInstance(); + return ai.isClosed(); + } private void updateQuestionProgressDisplay (AssessmentInstance ai) { -- GitLab