Check circle level

Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
Julius Härtl
2021-08-03 17:49:01 +02:00
parent a0dc7d2e6a
commit 42dac6e187
3 changed files with 8 additions and 5 deletions

View File

@@ -26,6 +26,7 @@ declare(strict_types=1);
namespace OCA\Deck\Service; namespace OCA\Deck\Service;
use OCA\Circles\Api\v1\Circles;
use OCP\App\IAppManager; use OCP\App\IAppManager;
/** /**
@@ -53,8 +54,8 @@ class CirclesService {
} }
try { try {
\OCA\Circles\Api\v1\Circles::getMember($circleId, $userId, 1, true); $member = \OCA\Circles\Api\v1\Circles::getMember($circleId, $userId, 1, true);
return true; return $member->getLevel() >= Circles::LEVEL_MEMBER;
} catch (\Exception $e) { } catch (\Exception $e) {
} }
return false; return false;

View File

@@ -23,6 +23,7 @@
namespace OCA\Deck\Service; namespace OCA\Deck\Service;
use OCA\Circles\Model\Member;
use OCA\Deck\Db\Acl; use OCA\Deck\Db\Acl;
use OCA\Deck\Db\AclMapper; use OCA\Deck\Db\AclMapper;
use OCA\Deck\Db\Board; use OCA\Deck\Db\Board;
@@ -194,8 +195,8 @@ class PermissionService {
if ($this->circlesEnabled && $acl->getType() === Acl::PERMISSION_TYPE_CIRCLE) { if ($this->circlesEnabled && $acl->getType() === Acl::PERMISSION_TYPE_CIRCLE) {
try { try {
\OCA\Circles\Api\v1\Circles::getMember($acl->getParticipant(), $this->userId, 1, true); $member = \OCA\Circles\Api\v1\Circles::getMember($acl->getParticipant(), $this->userId, 1, true);
return $acl->getPermission($permission); return $member->getLevel() >= Member::LEVEL_MEMBER && $acl->getPermission($permission);
} catch (\Exception $e) { } catch (\Exception $e) {
$this->logger->info('Member not found in circle that was accessed. This should not happen.'); $this->logger->info('Member not found in circle that was accessed. This should not happen.');
} }

View File

@@ -260,7 +260,8 @@
</RedundantCondition> </RedundantCondition>
</file> </file>
<file src="lib/Service/PermissionService.php"> <file src="lib/Service/PermissionService.php">
<UndefinedClass occurrences="2"> <UndefinedClass occurrences="3">
<code>Member</code>
<code>\OCA\Circles\Api\v1\Circles</code> <code>\OCA\Circles\Api\v1\Circles</code>
<code>\OCA\Circles\Api\v1\Circles</code> <code>\OCA\Circles\Api\v1\Circles</code>
</UndefinedClass> </UndefinedClass>