From ee04a3b42d53bca59501de9c6a09ea0dcc4c7d6b Mon Sep 17 00:00:00 2001
From: srosse <stephane.rosse@frentix.com>
Date: Wed, 9 Jan 2019 11:14:29 +0100
Subject: [PATCH] OO-3800: add role deduplication if dedup is disabled in
 member list

---
 .../nodes/members/MembersPeekViewController.java  | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/src/main/java/org/olat/course/nodes/members/MembersPeekViewController.java b/src/main/java/org/olat/course/nodes/members/MembersPeekViewController.java
index 7d5b21e45fd..e948a2fb90e 100644
--- a/src/main/java/org/olat/course/nodes/members/MembersPeekViewController.java
+++ b/src/main/java/org/olat/course/nodes/members/MembersPeekViewController.java
@@ -140,7 +140,7 @@ public class MembersPeekViewController extends BasicController {
 		MembersCourseNodeConfiguration nodeConfig = (MembersCourseNodeConfiguration)CourseNodeFactory.getInstance().getCourseNodeConfiguration("cmembers");
 		boolean deduplicateList = nodeConfig.isDeduplicateList();
 		
-		Predicate<Identity> deduplicatCatch = deduplicateList ? new Deduplicate() : new All();
+		Predicate<Identity> deduplicatCatch = new Deduplicate();
 		if(withOwners) {
 			List<Identity> filteredOwners = owners.stream()
 					.filter(deduplicatCatch)
@@ -149,6 +149,9 @@ public class MembersPeekViewController extends BasicController {
 		}
 
 		if(withCoaches) {
+			if(!deduplicateList) {
+				deduplicatCatch = new Deduplicate();
+			}
 			List<Identity> filteredCoaches = coaches.stream()
 					.filter(deduplicatCatch)
 					.collect(Collectors.toList());
@@ -156,6 +159,9 @@ public class MembersPeekViewController extends BasicController {
 		}
 
 		if(withParticipants) {
+			if(!deduplicateList) {
+				deduplicatCatch = new Deduplicate();
+			}
 			List<Identity> filteredParticipants = participants.stream()
 					.filter(deduplicatCatch)
 					.collect(Collectors.toList());
@@ -195,11 +201,4 @@ public class MembersPeekViewController extends BasicController {
 			return true;
 		}	
 	}
-	
-	private static class All implements Predicate<Identity> {
-		@Override
-		public boolean test(Identity t) {
-			return true;
-		}
-	}
 }
-- 
GitLab