示例#1
0
 public function PageLoad()
 {
     if ($this->page->GetGroupId() != null) {
         $groupList = $this->groupRepository->GetList(1, 1, null, null, new SqlFilterEquals(new SqlFilterColumn(TableNames::GROUPS_ALIAS, ColumnNames::GROUP_ID), $this->page->GetGroupId()));
     } else {
         $groupList = $this->groupRepository->GetList($this->page->GetPageNumber(), $this->page->GetPageSize());
     }
     $this->page->BindGroups($groupList->Results());
     $this->page->BindPageInfo($groupList->PageInfo());
     $this->page->BindResources($this->resourceRepository->GetResourceList());
     $this->page->BindRoles(array(new RoleDto(1, 'Group Admin', RoleLevel::GROUP_ADMIN), new RoleDto(2, 'Application Admin', RoleLevel::APPLICATION_ADMIN), new RoleDto(3, 'Resource Admin', RoleLevel::RESOURCE_ADMIN), new RoleDto(4, 'Schedule Admin', RoleLevel::SCHEDULE_ADMIN)));
     $this->page->BindAdminGroups($this->groupRepository->GetGroupsByRole(RoleLevel::GROUP_ADMIN));
 }
示例#2
0
 public function PageLoad()
 {
     if ($this->page->GetUserId() != null) {
         $userList = $this->userRepository->GetList(1, 1, null, null, new SqlFilterEquals(ColumnNames::USER_ID, $this->page->GetUserId()));
     } else {
         $userList = $this->userRepository->GetList($this->page->GetPageNumber(), $this->page->GetPageSize(), null, null, null, $this->page->GetFilterStatusId());
     }
     $this->page->BindUsers($userList->Results());
     $this->page->BindPageInfo($userList->PageInfo());
     $groups = $this->groupViewRepository->GetList();
     $this->page->BindGroups($groups->Results());
     $resources = array();
     $user = $this->userRepository->LoadById(ServiceLocator::GetServer()->GetUserSession()->UserId);
     $allResources = $this->resourceRepository->GetResourceList();
     foreach ($allResources as $resource) {
         if ($user->IsResourceAdminFor($resource)) {
             $resources[] = $resource;
         }
     }
     $this->page->BindResources($resources);
     $userIds = array();
     /** @var $user UserItemView */
     foreach ($userList->Results() as $user) {
         $userIds[] = $user->Id;
     }
     $attributeList = $this->attributeService->GetAttributes(CustomAttributeCategory::USER, $userIds);
     $this->page->BindAttributeList($attributeList);
 }
 /**
  * @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;
 }
示例#4
0
Booked Scheduler is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Booked Scheduler.  If not, see <http://www.gnu.org/licenses/>.
*/
define('ROOT_DIR', dirname(__FILE__) . '/../');
require_once ROOT_DIR . "lib/Email/namespace.php";
require_once ROOT_DIR . "lib/Email/Messages/ReservationCreatedEmail.php";
require_once ROOT_DIR . "lib/Email/Messages/ReservationUpdatedEmail.php";
require_once ROOT_DIR . "Domain/namespace.php";
require_once ROOT_DIR . "tests/fakes/namespace.php";
$start = Date::Parse('2010-10-05 03:30:00', 'UTC');
$end = Date::Parse('2010-10-06 13:30:00', 'UTC');
$resourceRepo = new ResourceRepository();
$resources = $resourceRepo->GetResourceList();
$builder = new ExistingReservationSeriesBuilder();
$builder->WithPrimaryResource($resources[1]);
$reservation = $builder->Build();
//$reservation->WithCurrentInstance(new TestReservation("ref", new TestDateRange()));
//$reservation->Update(1, new FakeBookableResource(1, 'name'), 'crazy title', 'super description', new FakeUserSession());
//$reservation->UpdateDuration(new DateRange($start, $end));
$reservation->Repeats(new RepeatDayOfMonth(1, $end->AddDays(100), new DateRange($start, $end)));
$user = new FakeUser();
//$user->SetLanguage('en_gb');
$email = new ReservationUpdatedEmail($user, $reservation, 'en_us', new AttributeRepository());
echo $email->Body();
//$emailService = new EmailService();
//$emailService->Send($email);
 /**
  * @return array|BookableResource[] array of all resources
  */
 public function GetResourceList()
 {
     $resources = parent::GetResourceList();
     return $this->GetFilteredResources($resources);
 }