From b4507ba76e02087df1a833ed32fda4bc1e938da8 Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Mon, 11 Apr 2016 11:13:06 +0200
Subject: [PATCH] OO-1971: fix deselect of course element in reused course link
 panel, clean up callout after a link is clicked

---
 .../olat/commons/calendar/ui/WeeklyCalendarController.java   | 2 ++
 .../course/run/calendar/CourseLinkProviderController.java    | 5 ++++-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/olat/commons/calendar/ui/WeeklyCalendarController.java b/src/main/java/org/olat/commons/calendar/ui/WeeklyCalendarController.java
index 6025626336b..c72cf1f03d9 100644
--- a/src/main/java/org/olat/commons/calendar/ui/WeeklyCalendarController.java
+++ b/src/main/java/org/olat/commons/calendar/ui/WeeklyCalendarController.java
@@ -351,11 +351,13 @@ public class WeeklyCalendarController extends FormBasicController implements Act
 		} else if (source == eventDetailsCtr) {
 			if(event instanceof CalendarGUIEditEvent) {
 				eventCalloutCtr.deactivate();
+				cleanUp();
 
 				CalendarGUIEditEvent editEvent = (CalendarGUIEditEvent)event;
 				pushEditEventController(ureq, editEvent.getKalendarEvent(), editEvent.getKalendarRenderWrapper());
 			} else if(event == Event.DONE_EVENT) {
 				eventCalloutCtr.deactivate();
+				cleanUp();
 			}
 		} else if(source == printCtrl) {
 			if (event instanceof CalendarGUIPrintEvent) {
diff --git a/src/main/java/org/olat/course/run/calendar/CourseLinkProviderController.java b/src/main/java/org/olat/course/run/calendar/CourseLinkProviderController.java
index 282eef913f5..2e6f8a1835f 100644
--- a/src/main/java/org/olat/course/run/calendar/CourseLinkProviderController.java
+++ b/src/main/java/org/olat/course/run/calendar/CourseLinkProviderController.java
@@ -76,7 +76,7 @@ public class CourseLinkProviderController extends FormBasicController implements
 		setTranslator(Util.createPackageTranslator(CalendarManager.class, ureq.getLocale(), getTranslator()));
 
 		this.ores = course;
-		availableCourses = new ArrayList<ICourse>(courses);
+		availableCourses = new ArrayList<>(courses);
 		courseNodeTreeModel = new CourseNodeSelectionTreeModel(courses);
 
 		initForm(ureq);
@@ -156,7 +156,10 @@ public class CourseLinkProviderController extends FormBasicController implements
 	@Override
 	public void setKalendarEvent(KalendarEvent kalendarEvent) {
 		this.kalendarEvent = kalendarEvent;
+		//clear all selections
 		clearSelection(courseNodeTreeModel.getRootNode());
+		multiSelectTree.deselectAll();
+		
 		for (KalendarEventLink link: kalendarEvent.getKalendarEventLinks()) {
 			if (link.getProvider().equals(COURSE_LINK_PROVIDER)) {
 				String nodeId = link.getId();
-- 
GitLab