/**
  * @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;
 }
Example #2
0
 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));
 }