From 1165a089cf95e37c14eb3da5a78f9a3f23b8e9ab Mon Sep 17 00:00:00 2001
From: uhensler <urs.hensler@frentix.com>
Date: Fri, 18 Sep 2020 15:31:06 +0200
Subject: [PATCH] OO-4878: Disable close button of Collabora Editor everywhere

---
 .../manager/CollaboraServiceImpl.java         |  5 +++--
 .../ui/CollaboraEditorController.java         |  7 +------
 .../collabora/ui/_content/collabora.html      | 20 -------------------
 .../edubase/EdubaseDirectiveProvider.java     |  4 ++--
 4 files changed, 6 insertions(+), 30 deletions(-)

diff --git a/src/main/java/org/olat/core/commons/services/doceditor/collabora/manager/CollaboraServiceImpl.java b/src/main/java/org/olat/core/commons/services/doceditor/collabora/manager/CollaboraServiceImpl.java
index e1e8a593f84..adbe11b2b3c 100644
--- a/src/main/java/org/olat/core/commons/services/doceditor/collabora/manager/CollaboraServiceImpl.java
+++ b/src/main/java/org/olat/core/commons/services/doceditor/collabora/manager/CollaboraServiceImpl.java
@@ -125,9 +125,10 @@ public class CollaboraServiceImpl implements CollaboraService, GenericEventListe
 			String discoveryUrl = getDiscoveryUrl();
 			discovery = discoveryService.getDiscovery(discoveryUrl);
 			if (discovery != null) {
-				log.info("Recieved new document editor discovery from " + discoveryUrl);
+				log.info("Recieved new document editor discovery from {}", discoveryUrl);
+			} else {
+				log.warn("Not able to fetch new document editor discovery from {}", discoveryUrl);
 			}
-				log.warn("Not able to fetch new document editor discovery from " + discoveryUrl);
 		}
 		return discovery;
 	}
diff --git a/src/main/java/org/olat/core/commons/services/doceditor/collabora/ui/CollaboraEditorController.java b/src/main/java/org/olat/core/commons/services/doceditor/collabora/ui/CollaboraEditorController.java
index 38d9f56856f..20d7eba505d 100644
--- a/src/main/java/org/olat/core/commons/services/doceditor/collabora/ui/CollaboraEditorController.java
+++ b/src/main/java/org/olat/core/commons/services/doceditor/collabora/ui/CollaboraEditorController.java
@@ -86,12 +86,7 @@ public class CollaboraEditorController extends BasicController {
 
 	@Override
 	protected void event(UserRequest ureq, Component source, Event event) {
-		if ("close".equals(event.getCommand())) {
-			// Suppress close event, because we can not hide close button
-			if (!Mode.EMBEDDED.equals(access.getMode())) {
-				fireEvent(ureq, Event.DONE_EVENT);
-			}
-		} else if(event == Window.CLOSE_WINDOW) {
+		if(event == Window.CLOSE_WINDOW) {
 			deleteAccess();
 		}
 	}
diff --git a/src/main/java/org/olat/core/commons/services/doceditor/collabora/ui/_content/collabora.html b/src/main/java/org/olat/core/commons/services/doceditor/collabora/ui/_content/collabora.html
index 47f0e06b0a1..79bf258c9d3 100644
--- a/src/main/java/org/olat/core/commons/services/doceditor/collabora/ui/_content/collabora.html
+++ b/src/main/java/org/olat/core/commons/services/doceditor/collabora/ui/_content/collabora.html
@@ -5,25 +5,5 @@
 		</div>
 	#else
 		<iframe id="$id" src="$url" allowfullscreen="true" webkitallowfullscreen="true" mozallowfullscreen="true"></iframe>
-		<script>
-		/* <![CDATA[ */
-			jQuery('$id').ready(function(){
-				window.addEventListener('message', function(e){
-					try {
-						var msg = JSON.parse(e.data);
-						var msgId = msg.MessageId;
-						var args = msg.Values;
-						var deprecated = !!args.Deprecated;
-					} catch(exc) {
-						msgId = e.data;
-					}
-					
-					if (msgId === 'UI_Close' || msgId === 'close' /* deprecated */) {
-						$r.openJavaScriptCommand("close"));
-					}
-				});
-			});
-		/* ]]> */
-		</script>
 	#end
 </div>
diff --git a/src/main/java/org/olat/modules/edubase/EdubaseDirectiveProvider.java b/src/main/java/org/olat/modules/edubase/EdubaseDirectiveProvider.java
index 59721a1bae7..290f9508604 100644
--- a/src/main/java/org/olat/modules/edubase/EdubaseDirectiveProvider.java
+++ b/src/main/java/org/olat/modules/edubase/EdubaseDirectiveProvider.java
@@ -19,8 +19,8 @@
  */
 package org.olat.modules.edubase;
 
+import java.util.Arrays;
 import java.util.Collection;
-import java.util.Collections;
 
 import org.olat.core.commons.services.csp.CSPDirectiveProvider;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -69,7 +69,7 @@ public class EdubaseDirectiveProvider implements CSPDirectiveProvider {
 	}
 
 	private Collection<String> getUrls() {
-		return edubaseModule.isEnabled()? Collections.singletonList(edubaseModule.getLtiBaseUrl()): null;
+		return edubaseModule.isEnabled()? Arrays.asList(edubaseModule.getLtiBaseUrl(), edubaseModule.getReaderUrl(), "https://*.edubase.ch/"): null;
 	}
 
 }
-- 
GitLab