Skip to content
Snippets Groups Projects
Commit 94282b2b authored by Eirik Morland's avatar Eirik Morland
Browse files

Issue #3423321 by eiriksm: Make it possible to check if user is member or admin

parent 9f5028af
No related branches found
No related tags found
1 merge request!33Fix it and add a test
Pipeline #101898 passed
......@@ -372,4 +372,11 @@ class TeamNode extends Node {
}, $this->get(self::MEMBERS_FIELD)->getValue());
}
/**
* Based on a user id, is the user a member or an admin.
*/
public function isMemberOrAdminFromUserId($user_id) : bool {
return in_array($user_id, $this->getMemberIds()) || in_array($user_id, $this->getAdministratorIds());
}
}
......@@ -85,6 +85,34 @@ class TeamNodeTest extends KernelTestBase {
self::assertEquals(FALSE, $node->isAdmin($user2));
}
/**
* Test the member or admin check.
*/
public function testMemberOrAdmin() {
/** @var \Drupal\violinist_teams\TeamNode $node */
$node = Node::create([
'type' => $this->nodeType->id(),
]);
$user = User::create([
'name' => 'test',
'mail' => 'test@example.com',
]);
$user->save();
self::assertFalse($node->isMemberOrAdminFromUserId($user->id()));
$node->appendAdmin($user);
self::assertTrue($node->isMemberOrAdminFromUserId($user->id()));
// Other user, not so much.
$user2 = User::create([
'name' => 'test2',
'mail' => 'test2@example.com',
]);
$user2->save();
self::assertFalse($node->isMemberOrAdminFromUserId($user2->id()));
// As a member, they would though.
$node->appendMember($user2);
self::assertTrue($node->isMemberOrAdminFromUserId($user2->id()));
}
/**
* Test the notification variations.
*
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment