From 8c7602881b58aa03bd0598e9d4f7570baff9e896 Mon Sep 17 00:00:00 2001
From: srosse <stephane.rosse@frentix.com>
Date: Tue, 7 Jan 2020 18:57:22 +0100
Subject: [PATCH] OO-4450: public group's calendar events visible in course
 calendar too

---
 .../org/olat/course/nodes/cal/CourseCalendars.java   | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/src/main/java/org/olat/course/nodes/cal/CourseCalendars.java b/src/main/java/org/olat/course/nodes/cal/CourseCalendars.java
index a9eebdcab6c..1b8f04ee771 100644
--- a/src/main/java/org/olat/course/nodes/cal/CourseCalendars.java
+++ b/src/main/java/org/olat/course/nodes/cal/CourseCalendars.java
@@ -145,13 +145,11 @@ public class CourseCalendars {
 			// learning groups
 			List<BusinessGroup> ownerGroups = cgm.getOwnedBusinessGroups(identity);
 			addCalendars(ureq, userCourseEnv, ownerGroups, !readOnly, clpc, calendars);
-			List<BusinessGroup> attendedGroups = cgm.getParticipatingBusinessGroups(identity);
-			for (BusinessGroup ownerGroup : ownerGroups) {
-				if (attendedGroups.contains(ownerGroup)) {
-					attendedGroups.remove(ownerGroup);
-				}
-			}
-			addCalendars(ureq, userCourseEnv, attendedGroups, false, clpc, calendars);
+			// always add all group calendars in this course no matter if the identity is a member
+			// as public entries should be visible anyway
+			List<BusinessGroup> allGroups = cgm.getAllBusinessGroups();
+			allGroups.removeAll(ownerGroups);
+			addCalendars(ureq, userCourseEnv, allGroups, false, clpc, calendars);			
 		}
 		return new CourseCalendars(courseKalendarWrapper, calendars);
 	}
-- 
GitLab