From b2c7912c7eea40f7117d05322cea84ea5b1b3c91 Mon Sep 17 00:00:00 2001
From: uhensler <none@none>
Date: Tue, 30 Jan 2018 10:12:36 +0100
Subject: [PATCH] OO-3273: Implement UserDataDeletable to delete user data from
 auto booking table

---
 .../admin/user/delete/service/UserDeletionManager.java   | 3 ---
 .../provider/auto/manager/AutoAccessManagerImpl.java     | 9 ++++++++-
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/main/java/org/olat/admin/user/delete/service/UserDeletionManager.java b/src/main/java/org/olat/admin/user/delete/service/UserDeletionManager.java
index 4dd3fc9ee0e..b5653750848 100644
--- a/src/main/java/org/olat/admin/user/delete/service/UserDeletionManager.java
+++ b/src/main/java/org/olat/admin/user/delete/service/UserDeletionManager.java
@@ -296,9 +296,6 @@ public class UserDeletionManager extends BasicManager {
 		//remove identity from groups
 		groupDao.removeMemberships(identity);
 
-		//remove all advance orders in auto-booking access manager
-		autoAccessManager.deleteAdvanceOrders(identity);
-
 		String key = identity.getUser().getProperty("emchangeKey", null);
 		TemporaryKey tempKey = registrationManager.loadTemporaryKeyByRegistrationKey(key);
 		if (tempKey != null) {
diff --git a/src/main/java/org/olat/resource/accesscontrol/provider/auto/manager/AutoAccessManagerImpl.java b/src/main/java/org/olat/resource/accesscontrol/provider/auto/manager/AutoAccessManagerImpl.java
index a96e49e9c38..46763178ab1 100644
--- a/src/main/java/org/olat/resource/accesscontrol/provider/auto/manager/AutoAccessManagerImpl.java
+++ b/src/main/java/org/olat/resource/accesscontrol/provider/auto/manager/AutoAccessManagerImpl.java
@@ -19,6 +19,7 @@
  */
 package org.olat.resource.accesscontrol.provider.auto.manager;
 
+import java.io.File;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.EnumMap;
@@ -43,6 +44,7 @@ import org.olat.resource.accesscontrol.provider.auto.AdvanceOrderInput;
 import org.olat.resource.accesscontrol.provider.auto.AutoAccessManager;
 import org.olat.resource.accesscontrol.provider.auto.IdentifierKey;
 import org.olat.resource.accesscontrol.provider.auto.model.AutoAccessMethod;
+import org.olat.user.UserDataDeletable;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -54,7 +56,7 @@ import org.springframework.stereotype.Service;
  *
  */
 @Service
-public class AutoAccessManagerImpl implements AutoAccessManager {
+public class AutoAccessManagerImpl implements AutoAccessManager, UserDataDeletable {
 
 	private static final OLog log = Tracing.createLoggerFor(AutoAccessManagerImpl.class);
 
@@ -219,4 +221,9 @@ public class AutoAccessManagerImpl implements AutoAccessManager {
 		acService.accessResource(identity, offerAccess, null);
 	}
 
+	@Override
+	public void deleteUserData(Identity identity, String newDeletedUserName, File archivePath) {
+		deleteAdvanceOrders(identity);
+	}
+
 }
-- 
GitLab