]> source.dussan.org Git - nextcloud-server.git/commitdiff
Dispatch UserRemovedEvents for removed groups
authorCôme Chilliet <come.chilliet@nextcloud.com>
Mon, 7 Aug 2023 09:20:05 +0000 (11:20 +0200)
committerCôme Chilliet <come.chilliet@nextcloud.com>
Thu, 10 Aug 2023 08:57:35 +0000 (10:57 +0200)
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
apps/user_ldap/lib/Service/UpdateGroupsService.php

index 901b1e913ebd8940a579ec00d53ed83a0a586978..ea707c7c9d803a1625e38d591e0400c20c5ecdc3 100644 (file)
@@ -175,6 +175,18 @@ class UpdateGroupsService {
                $this->logger->debug('service "updateGroups" – dealing with removed groups.');
 
                $this->groupMembershipMapper->deleteGroups($removedGroups);
+               foreach ($removedGroups as $group) {
+                       $groupObject = $this->groupManager->get($group);
+                       if ($groupObject instanceof IGroup) {
+                               $groupMemberships = $this->groupMembershipMapper->findGroupMemberships($group);
+                               foreach ($groupMemberships as $groupMembership) {
+                                       $userObject = $this->userManager->get($groupMembership->getUserid());
+                                       if ($userObject instanceof IUser) {
+                                               $this->dispatcher->dispatchTyped(new UserRemovedEvent($groupObject, $userObject));
+                                       }
+                               }
+                       }
+               }
 
                //TODO find a way to dispatch GroupDeletedEvent