From 344205e245d8f656e02ac947dd1b3b8593476fa4 Mon Sep 17 00:00:00 2001
From: srosse <stephane.rosse@frentix.com>
Date: Sat, 29 Feb 2020 17:20:55 +0100
Subject: [PATCH] OO-4547: better time limit validation and parsing in video
 question

---
 .../ui/question/QuestionConfigurationController.java     | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/olat/modules/video/ui/question/QuestionConfigurationController.java b/src/main/java/org/olat/modules/video/ui/question/QuestionConfigurationController.java
index ed515c77be4..519f8ed7c27 100644
--- a/src/main/java/org/olat/modules/video/ui/question/QuestionConfigurationController.java
+++ b/src/main/java/org/olat/modules/video/ui/question/QuestionConfigurationController.java
@@ -95,7 +95,7 @@ public class QuestionConfigurationController extends FormBasicController {
 		beginEl.setExampleKey("time.format", null);
 		beginEl.setMandatory(true);
 		
-		String timeLimit = question.getTimeLimit() >= 0 ? Long.toString(question.getTimeLimit()) : "";
+		String timeLimit = question.getTimeLimit() > 0 ? Long.toString(question.getTimeLimit()) : "";
 		timeLimitEl = uifactory.addTextElement("timeLimit", "video.question.timeLimit", 10, timeLimit, formLayout);
 		
 		String[] onValues = new String[] { translate("video.question.allow.skipping"), translate("video.question.allow.retry") };
@@ -195,7 +195,12 @@ public class QuestionConfigurationController extends FormBasicController {
 		try {
 			String beginTime = beginEl.getValue();
 			question.setBegin(displayDateFormat.parse(beginTime));
-			question.setTimeLimit(Long.parseLong(timeLimitEl.getValue()));
+			if(StringHelper.containsNonWhitespace(timeLimitEl.getValue())
+					&& StringHelper.isLong(timeLimitEl.getValue())) {
+				question.setTimeLimit(Long.parseLong(timeLimitEl.getValue()));
+			} else {
+				question.setTimeLimit(-1l);
+			}
 			question.setStyle(styleEl.getSelectedKey());
 			question.setAllowSkipping(skippingEl.isSelected(0));
 			question.setAllowNewAttempt(skippingEl.isSelected(1));
-- 
GitLab