From ba22c6f5bc78d3baa04b21d929e256bbde86ffbf Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Fri, 27 Mar 2015 10:37:27 +0100
Subject: [PATCH] OO-1499: remove references in course elements if the course
 is not imported with the references

---
 .../java/org/olat/course/nodes/AbstractFeedCourseNode.java    | 2 ++
 src/main/java/org/olat/course/nodes/CPCourseNode.java         | 2 ++
 src/main/java/org/olat/course/nodes/IQSELFCourseNode.java     | 2 ++
 src/main/java/org/olat/course/nodes/IQSURVCourseNode.java     | 2 ++
 src/main/java/org/olat/course/nodes/IQTESTCourseNode.java     | 2 ++
 src/main/java/org/olat/course/nodes/PortfolioCourseNode.java  | 4 ++++
 src/main/java/org/olat/course/nodes/ScormCourseNode.java      | 2 ++
 src/main/java/org/olat/course/nodes/WikiCourseNode.java       | 2 ++
 8 files changed, 18 insertions(+)

diff --git a/src/main/java/org/olat/course/nodes/AbstractFeedCourseNode.java b/src/main/java/org/olat/course/nodes/AbstractFeedCourseNode.java
index bf8b1b2eeea..0a95578bd06 100644
--- a/src/main/java/org/olat/course/nodes/AbstractFeedCourseNode.java
+++ b/src/main/java/org/olat/course/nodes/AbstractFeedCourseNode.java
@@ -246,6 +246,8 @@ public abstract class AbstractFeedCourseNode extends GenericCourseNode {
 			RepositoryEntry re = handler.importResource(owner, rie.getInitialAuthor(), rie.getDisplayName(),
 				rie.getDescription(), false, locale, rie.importGetExportedFile(), null);
 			FeedNodeEditController.setReference(re, getModuleConfiguration());
+		} else {
+			FeedNodeEditController.removeReference(getModuleConfiguration());
 		}
 	}
 }
diff --git a/src/main/java/org/olat/course/nodes/CPCourseNode.java b/src/main/java/org/olat/course/nodes/CPCourseNode.java
index 0e37ab66038..33abbeaecf0 100644
--- a/src/main/java/org/olat/course/nodes/CPCourseNode.java
+++ b/src/main/java/org/olat/course/nodes/CPCourseNode.java
@@ -298,6 +298,8 @@ public class CPCourseNode extends AbstractAccessableCourseNode {
 			RepositoryEntry re = handler.importResource(owner, rie.getInitialAuthor(), rie.getDisplayName(),
 					rie.getDescription(), false, locale, rie.importGetExportedFile(), null);
 			CPEditController.setCPReference(re, getModuleConfiguration());
+		} else {
+			CPEditController.removeCPReference(getModuleConfiguration());
 		}
 	}
 
diff --git a/src/main/java/org/olat/course/nodes/IQSELFCourseNode.java b/src/main/java/org/olat/course/nodes/IQSELFCourseNode.java
index 6bc3e8296f5..43d0921d474 100644
--- a/src/main/java/org/olat/course/nodes/IQSELFCourseNode.java
+++ b/src/main/java/org/olat/course/nodes/IQSELFCourseNode.java
@@ -260,6 +260,8 @@ public class IQSELFCourseNode extends AbstractAccessableCourseNode implements Se
 			RepositoryEntry re = handler.importResource(owner, rie.getInitialAuthor(), rie.getDisplayName(),
 				rie.getDescription(), false, locale, rie.importGetExportedFile(), null);
 			IQEditController.setIQReference(re, getModuleConfiguration());
+		} else {
+			IQEditController.removeIQReference(getModuleConfiguration());
 		}
 	}
 
diff --git a/src/main/java/org/olat/course/nodes/IQSURVCourseNode.java b/src/main/java/org/olat/course/nodes/IQSURVCourseNode.java
index 250df8ca46f..c920f3623d8 100644
--- a/src/main/java/org/olat/course/nodes/IQSURVCourseNode.java
+++ b/src/main/java/org/olat/course/nodes/IQSURVCourseNode.java
@@ -303,6 +303,8 @@ public class IQSURVCourseNode extends AbstractAccessableCourseNode implements QT
 			RepositoryEntry re = handler.importResource(owner, rie.getInitialAuthor(), rie.getDisplayName(),
 				rie.getDescription(), false, locale, rie.importGetExportedFile(), null);
 			IQEditController.setIQReference(re, getModuleConfiguration());
+		} else {
+			IQEditController.removeIQReference(getModuleConfiguration());
 		}
 	}
 
diff --git a/src/main/java/org/olat/course/nodes/IQTESTCourseNode.java b/src/main/java/org/olat/course/nodes/IQTESTCourseNode.java
index 0baf43541a5..0422a920670 100644
--- a/src/main/java/org/olat/course/nodes/IQTESTCourseNode.java
+++ b/src/main/java/org/olat/course/nodes/IQTESTCourseNode.java
@@ -501,6 +501,8 @@ public class IQTESTCourseNode extends AbstractAccessableCourseNode implements As
 			RepositoryEntry re = handler.importResource(owner, rie.getInitialAuthor(), rie.getDisplayName(),
 				rie.getDescription(), false, locale, rie.importGetExportedFile(), null);
 			IQEditController.setIQReference(re, getModuleConfiguration());
+		} else {
+			IQEditController.removeIQReference(getModuleConfiguration());
 		}
 	}
 
diff --git a/src/main/java/org/olat/course/nodes/PortfolioCourseNode.java b/src/main/java/org/olat/course/nodes/PortfolioCourseNode.java
index 9aefb9adef9..3aa6a46c30b 100644
--- a/src/main/java/org/olat/course/nodes/PortfolioCourseNode.java
+++ b/src/main/java/org/olat/course/nodes/PortfolioCourseNode.java
@@ -432,7 +432,11 @@ public class PortfolioCourseNode extends AbstractAccessableCourseNode implements
 				EPFrontendManager ePFMgr = CoreSpringFactory.getImpl(EPFrontendManager.class);
 				PortfolioStructure map = ePFMgr.loadPortfolioStructure(re.getOlatResource());
 				PortfolioCourseNodeEditController.setReference(re, map, getModuleConfiguration());
+			} else {
+				PortfolioCourseNodeEditController.removeReference(getModuleConfiguration());
 			}
+		} else {
+			PortfolioCourseNodeEditController.removeReference(getModuleConfiguration());
 		}
 	}
 }
\ No newline at end of file
diff --git a/src/main/java/org/olat/course/nodes/ScormCourseNode.java b/src/main/java/org/olat/course/nodes/ScormCourseNode.java
index 1767d9b7479..48ecf1a901d 100644
--- a/src/main/java/org/olat/course/nodes/ScormCourseNode.java
+++ b/src/main/java/org/olat/course/nodes/ScormCourseNode.java
@@ -340,6 +340,8 @@ public class ScormCourseNode extends AbstractAccessableCourseNode implements Ass
 			RepositoryEntry re = handler.importResource(owner, rie.getInitialAuthor(), rie.getDisplayName(),
 				rie.getDescription(), false, locale, rie.importGetExportedFile(), null);
 			ScormEditController.setScormCPReference(re, getModuleConfiguration());
+		} else {
+			CPEditController.removeCPReference(getModuleConfiguration());
 		}
 	}
 
diff --git a/src/main/java/org/olat/course/nodes/WikiCourseNode.java b/src/main/java/org/olat/course/nodes/WikiCourseNode.java
index c5278adf8cf..50a739843dd 100644
--- a/src/main/java/org/olat/course/nodes/WikiCourseNode.java
+++ b/src/main/java/org/olat/course/nodes/WikiCourseNode.java
@@ -198,6 +198,8 @@ public class WikiCourseNode extends AbstractAccessableCourseNode {
 			RepositoryEntry re = handler.importResource(owner, rie.getInitialAuthor(), rie.getDisplayName(),
 				rie.getDescription(), false, locale, rie.importGetExportedFile(), null);
 			WikiEditController.setWikiRepoReference(re, getModuleConfiguration());
+		} else {
+			WikiEditController.removeWikiReference(getModuleConfiguration());
 		}
 	}
 
-- 
GitLab