From c491ac1e135f736717bb228f638fc34d960c85d7 Mon Sep 17 00:00:00 2001
From: srosse <stephane.rosse@frentix.com>
Date: Fri, 13 Jul 2018 08:55:05 +0200
Subject: [PATCH] OO-3296: fix an issue with delete user where the field to
 archive the user roles is too short

---
 src/main/java/org/olat/basesecurity/BaseSecurityManager.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/olat/basesecurity/BaseSecurityManager.java b/src/main/java/org/olat/basesecurity/BaseSecurityManager.java
index a7531f8b3cd..33de84d8673 100644
--- a/src/main/java/org/olat/basesecurity/BaseSecurityManager.java
+++ b/src/main/java/org/olat/basesecurity/BaseSecurityManager.java
@@ -32,6 +32,7 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
@@ -1123,7 +1124,7 @@ public class BaseSecurityManager implements BaseSecurity, UserDataDeletable {
 			reloadedIdentity.setDeletedBy(getDeletedByName(doer));
 			reloadedIdentity.setDeletedDate(new Date());
 			
-			List<String> deletedRoles = getRolesSummaryWithResources(reloadedIdentity);
+			Collection<String> deletedRoles = new HashSet<>(getRolesSummaryWithResources(reloadedIdentity));
 			StringBuilder deletedRoleBuffer = new StringBuilder();
 			for(String deletedRole:deletedRoles) {
 				if(deletedRoleBuffer.length() > 0) deletedRoleBuffer.append(",");
-- 
GitLab