Skip to content

Commit 1fc6a7d

Browse files
nickvergessenkesselb
authored andcommitted
fix(notifications): Don't trigger invite notifications for system groups
Signed-off-by: Joas Schilling <[email protected]>
1 parent da826be commit 1fc6a7d

1 file changed

Lines changed: 15 additions & 4 deletions

File tree

lib/Listeners/Notifications/RequestingMember.php

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@
4646
* Class RequestingMember
4747
*
4848
* @package OCA\Circles\Listeners\Notifications
49+
*
50+
* @template-implements IEventListener<RequestingCircleMemberEvent|AddingCircleMemberEvent|Event>
4951
*/
5052
class RequestingMember implements IEventListener {
5153
use TNCLogger;
@@ -71,18 +73,27 @@ public function __construct(NotificationService $notificationService) {
7173
* @throws RequestBuilderException
7274
*/
7375
public function handle(Event $event): void {
74-
if (!$event instanceof RequestingCircleMemberEvent && !$event instanceof AddingCircleMemberEvent) {
75-
return;
76+
if ($event instanceof RequestingCircleMemberEvent) {
77+
$this->handleRequestingCircleMemberEvent($event);
78+
} elseif ($event instanceof AddingCircleMemberEvent) {
79+
$this->handleAddingCircleMemberEvent($event);
7680
}
81+
}
7782

83+
public function handleRequestingCircleMemberEvent(RequestingCircleMemberEvent $event): void {
7884
$member = $event->getMember();
7985

8086
if ($event->getType() === CircleGenericEvent::REQUESTED) {
8187
$this->notificationService->notificationRequested($member);
82-
} elseif ($event->getType() === CircleGenericEvent::JOINED && $event->getCircle()->isConfig(Circle::CFG_INVITE)) {
83-
$this->notificationService->markInvitationAsProcessed($member);
8488
} else {
8589
$this->notificationService->notificationInvited($member);
8690
}
8791
}
92+
93+
public function handleAddingCircleMemberEvent(AddingCircleMemberEvent $event): void {
94+
if ($event->getType() === CircleGenericEvent::JOINED && $event->getCircle()->isConfig(Circle::CFG_INVITE)) {
95+
$member = $event->getMember();
96+
$this->notificationService->markInvitationAsProcessed($member);
97+
}
98+
}
8899
}

0 commit comments

Comments
 (0)