From b6b1108522e7ae89bf55d6b8ffe63a0fc2aa2f05 Mon Sep 17 00:00:00 2001
From: uhensler <urs.hensler@frentix.com>
Date: Mon, 26 Aug 2019 16:27:27 +0200
Subject: [PATCH] OO-4204: Disable creation of new QTI 1.2 course elements by
 default

---
 .../course/nodes/iq/IQSURVCourseNodeConfiguration.java     | 7 +++++++
 src/main/java/org/olat/ims/qti/QTIModule.java              | 6 ++++++
 src/main/resources/serviceconfig/olat.properties           | 1 +
 3 files changed, 14 insertions(+)

diff --git a/src/main/java/org/olat/course/nodes/iq/IQSURVCourseNodeConfiguration.java b/src/main/java/org/olat/course/nodes/iq/IQSURVCourseNodeConfiguration.java
index a4549101b13..4b8f1c53a8c 100644
--- a/src/main/java/org/olat/course/nodes/iq/IQSURVCourseNodeConfiguration.java
+++ b/src/main/java/org/olat/course/nodes/iq/IQSURVCourseNodeConfiguration.java
@@ -27,6 +27,7 @@ package org.olat.course.nodes.iq;
 
 import java.util.Locale;
 
+import org.olat.core.CoreSpringFactory;
 import org.olat.core.gui.translator.Translator;
 import org.olat.core.util.Util;
 import org.olat.course.nodes.AbstractCourseNodeConfiguration;
@@ -34,6 +35,7 @@ import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
 import org.olat.course.nodes.CourseNodeGroup;
 import org.olat.course.nodes.IQSURVCourseNode;
+import org.olat.ims.qti.QTIModule;
 /**
  * @author guido
  */
@@ -48,6 +50,11 @@ public class IQSURVCourseNodeConfiguration extends AbstractCourseNodeConfigurati
 		return new IQSURVCourseNode();
 	}
 
+	@Override
+	public boolean isDeprecated() {
+		return !CoreSpringFactory.getImpl(QTIModule.class).isCreateSurveyCourseNodesEnabled();
+	}
+
 	@Override
 	public String getLinkText(Locale locale) {
 		Translator fallback = Util.createPackageTranslator(CourseNodeConfiguration.class, locale);
diff --git a/src/main/java/org/olat/ims/qti/QTIModule.java b/src/main/java/org/olat/ims/qti/QTIModule.java
index efa248150a9..12a1b04d38e 100644
--- a/src/main/java/org/olat/ims/qti/QTIModule.java
+++ b/src/main/java/org/olat/ims/qti/QTIModule.java
@@ -46,6 +46,8 @@ public class QTIModule extends AbstractSpringModule {
 	private boolean createResourcesEnabled;
 	@Value("${qti12.survey.create.resources.enabled:false}")
 	private boolean createSurveyResourcesEnabled;
+	@Value("${qti12.survey.create.course.nodes.enabled:false}")
+	private boolean createSurveyCourseNodesEnabled;
 	@Value("${qti12.edit.resources.enabled:false}")
 	private boolean createEditResourcesEnabled;
 
@@ -74,6 +76,10 @@ public class QTIModule extends AbstractSpringModule {
 		return createSurveyResourcesEnabled;
 	}
 	
+	public boolean isCreateSurveyCourseNodesEnabled() {
+		return createSurveyCourseNodesEnabled;
+	}
+
 	public boolean isEditResourcesEnabled() {
 		return createEditResourcesEnabled;
 	}
diff --git a/src/main/resources/serviceconfig/olat.properties b/src/main/resources/serviceconfig/olat.properties
index c5097ed3dd4..3e137c4c799 100644
--- a/src/main/resources/serviceconfig/olat.properties
+++ b/src/main/resources/serviceconfig/olat.properties
@@ -396,6 +396,7 @@ qti21.import.encoding.fallback=
 qti12.edit.resources.enabled=false
 qti12.create.resources.enabled=false
 qti12.survey.create.resources.enabled=false
+qti12.survey.create.course.nodes.enabled=false
 
 ########################################################################
 # Certificates
-- 
GitLab