/** * @param User $user * @return BookableResource[] */ private function GetResourcesThatCurrentUserCanAdminister($user) { $resources = array(); $allResources = $this->resourceRepository->GetResourceList(); foreach ($allResources as $resource) { if ($user->IsResourceAdminFor($resource)) { $resources[] = $resource; } } return $resources; }
public function testWhenUserIsInAdminGroupForResourcesSchedule() { $adminGroupId = 223; $resource = new FakeBookableResource(1, 'n'); $resource->SetScheduleAdminGroupId($adminGroupId); $adminUser = new User(); $regularUser = new User(); $adminGroup = new UserGroup($adminGroupId, 'admin', null, RoleLevel::SCHEDULE_ADMIN); $group1 = new UserGroup(1, 'random group'); $group2 = new UserGroup(2, 'group with admin'); $adminUserGroups = array($group1, $adminGroup); $userGroups = array($group1, $group2); $adminUser->WithGroups($adminUserGroups); $regularUser->WithGroups($userGroups); $this->assertTrue($adminUser->IsResourceAdminFor($resource)); $this->assertFalse($regularUser->IsResourceAdminFor($resource)); }