fix: Consider a deleted board inaccessible to share recipients

Only the owner can delete/undo a board deletion so there is no reason
other users should have any permission on a board marked as deleted

Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
Julius Härtl
2024-01-03 15:32:40 +01:00
parent 22a3efe445
commit 71948d670e

View File

@@ -102,8 +102,9 @@ class PermissionService {
return $cached; return $cached;
} }
$owner = $this->userIsBoardOwner($boardId); $board = $this->getBoard($boardId);
$acls = $this->aclMapper->findAll($boardId); $owner = $this->userIsBoardOwner($boardId, $userId);
$acls = $board->getDeletedAt() === 0 ? $this->aclMapper->findAll($boardId) : [];
$permissions = [ $permissions = [
Acl::PERMISSION_READ => $owner || $this->userCan($acls, Acl::PERMISSION_READ), Acl::PERMISSION_READ => $owner || $this->userCan($acls, Acl::PERMISSION_READ),
Acl::PERMISSION_EDIT => $owner || $this->userCan($acls, Acl::PERMISSION_EDIT), Acl::PERMISSION_EDIT => $owner || $this->userCan($acls, Acl::PERMISSION_EDIT),