Skip to content

Commit 42dac6e

Browse files
committed
Check circle level
Signed-off-by: Julius Härtl <jus@bitgrid.net>
1 parent a0dc7d2 commit 42dac6e

3 files changed

Lines changed: 8 additions & 5 deletions

File tree

lib/Service/CirclesService.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626

2727
namespace OCA\Deck\Service;
2828

29+
use OCA\Circles\Api\v1\Circles;
2930
use OCP\App\IAppManager;
3031

3132
/**
@@ -53,8 +54,8 @@ public function isUserInCircle($circleId, $userId): bool {
5354
}
5455

5556
try {
56-
\OCA\Circles\Api\v1\Circles::getMember($circleId, $userId, 1, true);
57-
return true;
57+
$member = \OCA\Circles\Api\v1\Circles::getMember($circleId, $userId, 1, true);
58+
return $member->getLevel() >= Circles::LEVEL_MEMBER;
5859
} catch (\Exception $e) {
5960
}
6061
return false;

lib/Service/PermissionService.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323

2424
namespace OCA\Deck\Service;
2525

26+
use OCA\Circles\Model\Member;
2627
use OCA\Deck\Db\Acl;
2728
use OCA\Deck\Db\AclMapper;
2829
use OCA\Deck\Db\Board;
@@ -194,8 +195,8 @@ public function userCan(array $acls, $permission, $userId = null) {
194195

195196
if ($this->circlesEnabled && $acl->getType() === Acl::PERMISSION_TYPE_CIRCLE) {
196197
try {
197-
\OCA\Circles\Api\v1\Circles::getMember($acl->getParticipant(), $this->userId, 1, true);
198-
return $acl->getPermission($permission);
198+
$member = \OCA\Circles\Api\v1\Circles::getMember($acl->getParticipant(), $this->userId, 1, true);
199+
return $member->getLevel() >= Member::LEVEL_MEMBER && $acl->getPermission($permission);
199200
} catch (\Exception $e) {
200201
$this->logger->info('Member not found in circle that was accessed. This should not happen.');
201202
}

tests/psalm-baseline.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,8 @@
260260
</RedundantCondition>
261261
</file>
262262
<file src="lib/Service/PermissionService.php">
263-
<UndefinedClass occurrences="2">
263+
<UndefinedClass occurrences="3">
264+
<code>Member</code>
264265
<code>\OCA\Circles\Api\v1\Circles</code>
265266
<code>\OCA\Circles\Api\v1\Circles</code>
266267
</UndefinedClass>

0 commit comments

Comments
 (0)