From bbc27043e94a332b2b7ba06c2dc171fcb5badc52 Mon Sep 17 00:00:00 2001 From: Maxence Lange Date: Thu, 18 Dec 2025 12:15:32 -0100 Subject: [PATCH] fix empty memberlist Signed-off-by: Maxence Lange --- lib/Db/CoreQueryBuilder.php | 3 --- lib/Db/MemberRequest.php | 10 ++++++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/Db/CoreQueryBuilder.php b/lib/Db/CoreQueryBuilder.php index 0b3ac9314..62e1d4c5d 100644 --- a/lib/Db/CoreQueryBuilder.php +++ b/lib/Db/CoreQueryBuilder.php @@ -798,9 +798,6 @@ public function leftJoinBasedOn( if (!is_null($initiator)) { $this->leftJoinInitiator($aliasBasedOn, $initiator); $this->leftJoinOwner($aliasBasedOn); - - $aliasInitiatorMemberships = $this->generateAlias($aliasBasedOn, self::MEMBERSHIPS); - $this->andWhere($expr->gt($aliasInitiatorMemberships . '.level', $this->createNamedParameter(0, self::PARAM_INT))); } } diff --git a/lib/Db/MemberRequest.php b/lib/Db/MemberRequest.php index 71f6f8872..78ab9fb92 100644 --- a/lib/Db/MemberRequest.php +++ b/lib/Db/MemberRequest.php @@ -222,6 +222,16 @@ public function getMembers( if ($fullDetails) { $qb->leftJoinCircle(CoreQueryBuilder::MEMBER, $initiator); $qb->leftJoinInvitedBy(CoreQueryBuilder::MEMBER); + } elseif (!is_null($initiator)) { + // still need to confirm initiator level in relation to the circle + $aliasCircle = $qb->generateAlias(CoreQueryBuilder::MEMBER, CoreQueryBuilder::CIRCLE, $options); + $qb->leftJoin( + CoreQueryBuilder::MEMBER, + CoreRequestBuilder::TABLE_CIRCLE, + $aliasCircle, + $qb->expr()->eq($aliasCircle . '.unique_id', CoreQueryBuilder::MEMBER . '.circle_id') + ); + $qb->limitToInitiator($aliasCircle, $initiator); } if ($probe->hasFilterRemoteInstance()) {