From 29d4fa6f44740a39a22a8c7b77c72e2c8bef09fc Mon Sep 17 00:00:00 2001 From: grnd-alt Date: Tue, 20 Oct 2026 10:43:25 +0200 Subject: [PATCH] fix(sharing): apply owner when getting card permissions Signed-off-by: grnd-alt --- lib/Service/PermissionService.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/Service/PermissionService.php b/lib/Service/PermissionService.php index a22c6e12b4..fdc15e511d 100644 --- a/lib/Service/PermissionService.php +++ b/lib/Service/PermissionService.php @@ -77,11 +77,12 @@ public function getPermissionsForCards(array $cardIds, ?string $userId = null, b $permissions = $this->aclMapper->findInCards($cardIds); return array_map( function (array $acls) use ($userId) { + $owner = $this->userIsBoardOwner($acls[0]->getBoardId(), $userId); return [ - Acl::PERMISSION_READ => $this->userCan($acls, Acl::PERMISSION_READ, $userId), - Acl::PERMISSION_EDIT => $this->userCan($acls, Acl::PERMISSION_EDIT, $userId), - Acl::PERMISSION_MANAGE => $this->userCan($acls, Acl::PERMISSION_MANAGE, $userId), - Acl::PERMISSION_SHARE => $this->userCan($acls, Acl::PERMISSION_SHARE, $userId), + Acl::PERMISSION_READ => $owner || $this->userCan($acls, Acl::PERMISSION_READ, $userId), + Acl::PERMISSION_EDIT => $owner || $this->userCan($acls, Acl::PERMISSION_EDIT, $userId), + Acl::PERMISSION_MANAGE => $owner || $this->userCan($acls, Acl::PERMISSION_MANAGE, $userId), + Acl::PERMISSION_SHARE => ($owner || $this->userCan($acls, Acl::PERMISSION_SHARE, $userId)) && !$this->shareManager->sharingDisabledForUser($userId), ]; }, $permissions