From 09ab8f24a81ae7b04d9c3b4dc721ac4a5bb1fe0e Mon Sep 17 00:00:00 2001
From: uhensler <urs.hensler@frentix.com>
Date: Wed, 20 Jun 2018 13:38:01 +0200
Subject: [PATCH] OO-3303: Delete survey when deleting a survey course node

---
 .../java/org/olat/course/nodes/SurveyCourseNode.java   | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/main/java/org/olat/course/nodes/SurveyCourseNode.java b/src/main/java/org/olat/course/nodes/SurveyCourseNode.java
index 7b23a2f6a15..66c12c7cffe 100644
--- a/src/main/java/org/olat/course/nodes/SurveyCourseNode.java
+++ b/src/main/java/org/olat/course/nodes/SurveyCourseNode.java
@@ -286,6 +286,16 @@ public class SurveyCourseNode extends AbstractAccessableCourseNode {
 		return true;
 	}
 	
+	@Override
+	public void cleanupOnDelete(ICourse course) {
+		super.cleanupOnDelete(course);
+		
+		EvaluationFormManager evaluationFormManager = CoreSpringFactory.getImpl(EvaluationFormManager.class);
+		RepositoryEntry ores = RepositoryManager.getInstance().lookupRepositoryEntry(course, true);
+		EvaluationFormSurvey survey = evaluationFormManager.loadSurvey(ores, getIdent());
+		evaluationFormManager.deleteSurvey(survey);
+	}
+
 	public static RepositoryEntry getEvaluationForm(ModuleConfiguration config) {
 		if (config == null) return null;
 		
-- 
GitLab