From f1ec2686a4eeebf02c8338cc4747cc4762a2491b Mon Sep 17 00:00:00 2001
From: srosse <stephane.rosse@frentix.com>
Date: Sat, 23 Mar 2019 13:50:05 +0100
Subject: [PATCH] OO-3990: check if the test was pulled before handling
 response

---
 .../olat/ims/qti21/ui/AssessmentTestDisplayController.java    | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

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 2ab38b39db4..c876c8426aa 100644
--- a/src/main/java/org/olat/ims/qti21/ui/AssessmentTestDisplayController.java
+++ b/src/main/java/org/olat/ims/qti21/ui/AssessmentTestDisplayController.java
@@ -1110,6 +1110,9 @@ public class AssessmentTestDisplayController extends BasicController implements
     //        final String candidateComment)       
 	private void handleResponse(UserRequest ureq, Map<Identifier, ResponseInput> stringResponseMap,
 			Map<Identifier, ResponseInput> fileResponseMap, String candidateComment) {
+		if(checkConcurrentExit(ureq)) {
+			return;
+		}
 
 		NotificationRecorder notificationRecorder = new NotificationRecorder(NotificationLevel.INFO);
 		TestSessionState testSessionState = testSessionController.getTestSessionState();
@@ -1254,7 +1257,6 @@ public class AssessmentTestDisplayController extends BasicController implements
         candidateSession = qtiService.updateAssessmentTestSession(candidateSession);
         
         addToHistory(ureq, this);
-        checkConcurrentExit(ureq);
 	}
 	
 	private void collectOutcomeVariablesForItemSession(ItemResult resultNode, AssessmentItemSession itemSession) {
-- 
GitLab