/** * @return array|Schedule[] */ public function GetAll() { if (is_null($this->_all)) { $this->_all = $this->scheduleRepository->GetAll(); } return $this->_all; }
public function PageLoad() { $this->page->BindResources($this->resourceRepo->GetResourceList()); $this->page->BindAccessories($this->resourceRepo->GetAccessoryList()); $this->page->BindSchedules($this->scheduleRepo->GetAll()); $this->page->BindGroups($this->groupRepo->GetList()->Results()); }
public function PageLoad($userSession, $timezone) { $type = $this->page->GetCalendarType(); $year = $this->page->GetYear(); $month = $this->page->GetMonth(); $day = $this->page->GetDay(); $defaultDate = Date::Now()->ToTimezone($timezone); if (empty($year)) { $year = $defaultDate->Year(); } if (empty($month)) { $month = $defaultDate->Month(); } if (empty($day)) { $day = $defaultDate->Day(); } $schedules = $this->scheduleRepository->GetAll(); $showInaccessible = Configuration::Instance()->GetSectionKey(ConfigSection::SCHEDULE, ConfigKeys::SCHEDULE_SHOW_INACCESSIBLE_RESOURCES, new BooleanConverter()); $resources = $this->resourceService->GetAllResources($showInaccessible, $userSession); $selectedScheduleId = $this->page->GetScheduleId(); $selectedSchedule = $this->GetDefaultSchedule($schedules); $selectedResourceId = $this->page->GetResourceId(); $selectedGroupId = $this->page->GetGroupId(); $resourceGroups = $this->resourceService->GetResourceGroups($selectedScheduleId, $userSession); if (!empty($selectedGroupId)) { $tempResources = array(); $resourceIds = $resourceGroups->GetResourceIds($selectedGroupId); $selectedGroup = $resourceGroups->GetGroup($selectedGroupId); $this->page->BindSelectedGroup($selectedGroup); foreach ($resources as $resource) { if (in_array($resource->GetId(), $resourceIds)) { $tempResources[] = $resource; } } $resources = $tempResources; } if (!empty($selectedResourceId)) { $subscriptionDetails = $this->subscriptionService->ForResource($selectedResourceId); } else { $subscriptionDetails = $this->subscriptionService->ForSchedule($selectedSchedule->GetId()); } $calendar = $this->calendarFactory->Create($type, $year, $month, $day, $timezone, $selectedSchedule->GetWeekdayStart()); $reservations = $this->reservationRepository->GetReservationList($calendar->FirstDay(), $calendar->LastDay()->AddDays(1), null, null, $selectedScheduleId, $selectedResourceId); $calendar->AddReservations(CalendarReservation::FromScheduleReservationList($reservations, $resources, $userSession, true)); $this->page->BindCalendar($calendar); $this->page->BindFilters(new CalendarFilters($schedules, $resources, $selectedScheduleId, $selectedResourceId, $resourceGroups)); $this->page->SetDisplayDate($calendar->FirstDay()); $this->page->SetScheduleId($selectedScheduleId); $this->page->SetResourceId($selectedResourceId); $this->page->SetFirstDay($selectedSchedule->GetWeekdayStart()); $this->page->BindSubscription($subscriptionDetails); }
/** * @param UserSession $userSession * @param string $timezone */ public function PageLoad($userSession, $timezone) { $type = $this->page->GetCalendarType(); $year = $this->page->GetYear(); $month = $this->page->GetMonth(); $day = $this->page->GetDay(); $defaultDate = Date::Now()->ToTimezone($timezone); if (empty($year)) { $year = $defaultDate->Year(); } if (empty($month)) { $month = $defaultDate->Month(); } if (empty($day)) { $day = $defaultDate->Day(); } $schedules = $this->scheduleRepository->GetAll(); $showInaccessible = Configuration::Instance()->GetSectionKey(ConfigSection::SCHEDULE, ConfigKeys::SCHEDULE_SHOW_INACCESSIBLE_RESOURCES, new BooleanConverter()); $resources = $this->resourceService->GetAllResources($showInaccessible, $userSession); $selectedScheduleId = $this->page->GetScheduleId(); $selectedSchedule = $this->GetDefaultSchedule($schedules); $selectedResourceId = $this->page->GetResourceId(); $calendar = $this->calendarFactory->Create($type, $year, $month, $day, $timezone, $selectedSchedule->GetWeekdayStart()); $reservations = $this->reservationRepository->GetReservationList($calendar->FirstDay(), $calendar->LastDay()->AddDays(1), $userSession->UserId, ReservationUserLevel::ALL, $selectedScheduleId, $selectedResourceId); $calendar->AddReservations(CalendarReservation::FromViewList($reservations, $timezone)); $this->page->BindCalendar($calendar); $this->page->SetDisplayDate($calendar->FirstDay()); $this->page->BindFilters(new CalendarFilters($schedules, $resources, $selectedScheduleId, $selectedResourceId)); $this->page->SetScheduleId($selectedScheduleId); $this->page->SetResourceId($selectedResourceId); $this->page->SetFirstDay($selectedSchedule->GetWeekdayStart()); $details = $this->subscriptionService->ForUser($userSession->UserId); $this->page->BindSubscription($details); }
public function GetScheduleId() { if (!empty($this->scheduleId)) { return $this->scheduleId; } $this->scheduleId = $this->page->GetRequestedScheduleId(); if (empty($this->scheduleId)) { $schedules = $this->scheduleRepository->GetAll(); foreach ($schedules as $s) { if ($s->GetIsDefault()) { $this->scheduleId = $s->GetId(); break; } } } return $this->scheduleId; }
public function GetAll($includeInaccessible = true, UserSession $session = null) { $schedules = $this->scheduleRepository->GetAll(); if ($includeInaccessible == false) { $resources = $this->resourceService->GetAllResources($includeInaccessible, $session); $availableSchedules = array(); if (count($resources) > 0) { foreach ($schedules as $schedule) { foreach ($resources as $resource) { if ($resource->ScheduleId == $schedule->GetId()) { $availableSchedules[] = $schedule; break; } } } } return $availableSchedules; } else { return $schedules; } }
public function PageLoad($userTimezone) { $session = ServiceLocator::GetServer()->GetUserSession(); $this->page->BindSchedules($this->scheduleRepository->GetAll()); $this->page->BindResources($this->resourceRepository->GetResourceList()); $startDateString = $this->page->GetStartDate(); $endDateString = $this->page->GetEndDate(); $startDate = $this->GetDate($startDateString, $userTimezone, -7); $endDate = $this->GetDate($endDateString, $userTimezone, 7); $scheduleId = $this->page->GetScheduleId(); $resourceId = $this->page->GetResourceId(); $this->page->SetStartDate($startDate); $this->page->SetEndDate($endDate); $this->page->SetScheduleId($scheduleId); $this->page->SetResourceId($resourceId); $filter = new BlackoutFilter($startDate, $endDate, $scheduleId, $resourceId); $blackouts = $this->manageBlackoutsService->LoadFiltered($this->page->GetPageNumber(), $this->page->GetPageSize(), $filter, $session); $this->page->BindBlackouts($blackouts->Results()); $this->page->BindPageInfo($blackouts->PageInfo()); $this->page->ShowPage(); }
public function GetScheduleId() { if (!empty($this->scheduleId)) { return $this->scheduleId; } $this->scheduleId = $this->page->GetRequestedScheduleId(); if (empty($this->scheduleId)) { $requestedResourceId = $this->page->GetRequestedResourceId(); if (!empty($requestedResourceId)) { $resource = $this->resourceRepository->LoadById($requestedResourceId); $this->scheduleId = $resource->GetScheduleId(); } else { $schedules = $this->scheduleRepository->GetAll(); foreach ($schedules as $s) { if ($s->GetIsDefault()) { $this->scheduleId = $s->GetId(); break; } } } } return $this->scheduleId; }
public function PageLoad() { $resourceAttributes = $this->attributeService->GetByCategory(CustomAttributeCategory::RESOURCE); $filterValues = $this->page->GetFilterValues(); $results = $this->resourceRepository->GetList($this->page->GetPageNumber(), $this->page->GetPageSize(), null, null, $filterValues->AsFilter($resourceAttributes)); $resources = $results->Results(); $this->page->BindResources($resources); $this->page->BindPageInfo($results->PageInfo()); $schedules = $this->scheduleRepository->GetAll(); $scheduleList = array(); /* @var $schedule Schedule */ foreach ($schedules as $schedule) { $scheduleList[$schedule->GetId()] = $schedule->GetName(); } $this->page->BindSchedules($scheduleList); $this->page->AllSchedules($schedules); $resourceTypes = $this->resourceRepository->GetResourceTypes(); $resourceTypeList = array(); /* @var $resourceType ResourceType */ foreach ($resourceTypes as $resourceType) { $resourceTypeList[$resourceType->Id()] = $resourceType; } $this->page->BindResourceTypes($resourceTypeList); $statusReasons = $this->resourceRepository->GetStatusReasons(); $statusReasonList = array(); foreach ($statusReasons as $reason) { $statusReasonList[$reason->Id()] = $reason; } $this->page->BindResourceStatusReasons($statusReasonList); $groups = $this->groupRepository->GetGroupsByRole(RoleLevel::RESOURCE_ADMIN); $this->page->BindAdminGroups($groups); $resourceIds = array(); foreach ($resources as $resource) { $resourceIds[] = $resource->GetId(); } $attributeList = $this->attributeService->GetAttributes(CustomAttributeCategory::RESOURCE, $resourceIds); $this->page->BindAttributeList($attributeList); $this->InitializeFilter($filterValues, $resourceAttributes); }
public function PageLoad($userTimezone) { $session = ServiceLocator::GetServer()->GetUserSession(); $this->page->BindSchedules($this->scheduleRepository->GetAll()); $this->page->BindResources($this->resourceRepository->GetResourceList()); $statusReasonList = array(); foreach ($this->resourceRepository->GetStatusReasons() as $reason) { $statusReasonList[$reason->Id()] = $reason; } $this->page->BindResourceStatuses($statusReasonList); $startDateString = $this->page->GetStartDate(); $endDateString = $this->page->GetEndDate(); $filterPreferences = new ReservationFilterPreferences(); $filterPreferences->Load($this->userPreferenceRepository, $session->UserId); $startDate = $this->GetDate($startDateString, $userTimezone, $filterPreferences->GetFilterStartDateDelta()); $endDate = $this->GetDate($endDateString, $userTimezone, $filterPreferences->GetFilterEndDateDelta()); $scheduleId = $this->page->GetScheduleId(); $resourceId = $this->page->GetResourceId(); $userId = $this->page->GetUserId(); $userName = $this->page->GetUserName(); $reservationStatusId = $this->page->GetReservationStatusId(); $referenceNumber = $this->page->GetReferenceNumber(); $resourceStatusId = $this->page->GetResourceStatusFilterId(); $resourceReasonId = $this->page->GetResourceStatusReasonFilterId(); if (!$this->page->FilterButtonPressed()) { // Get filter settings from db $referenceNumber = $filterPreferences->GetFilterReferenceNumber(); $scheduleId = $filterPreferences->GetFilterScheduleId(); $resourceId = $filterPreferences->GetFilterResourceId(); $userId = $filterPreferences->GetFilterUserId(); $userName = $filterPreferences->GetFilterUserName(); $reservationStatusId = $filterPreferences->GetFilterReservationStatusId(); $resourceStatusId = $filterPreferences->GetFilterResourceStatusId(); $resourceReasonId = $filterPreferences->GetFilterResourceReasonId(); $filters = $filterPreferences->GetFilterCustomAttributes(); } else { $startOffset = $this->GetDateOffsetFromToday($startDate, $userTimezone); $endOffset = $this->GetDateOffsetFromToday($endDate, $userTimezone); $formFilters = $this->page->GetAttributeFilters(); $filters = array(); foreach ($formFilters as $filter) { $filters[$filter->Id] = $filter->Value; } $filterPreferences->SetFilterStartDateDelta($startOffset == null ? -14 : $startOffset); $filterPreferences->SetFilterEndDateDelta($endOffset == null ? 14 : $endOffset); $filterPreferences->SetFilterReferenceNumber($referenceNumber); $filterPreferences->SetFilterScheduleId($scheduleId); $filterPreferences->SetFilterResourceId($resourceId); $filterPreferences->SetFilterUserId($userId); $filterPreferences->SetFilterUserName($userName); $filterPreferences->SetFilterReservationStatusId($reservationStatusId); $filterPreferences->SetFilterResourceStatusId($resourceStatusId); $filterPreferences->SetFilterResourceReasonId($resourceReasonId); $filterPreferences->SetFilterCustomAttributes($filters); $filterPreferences->Update($this->userPreferenceRepository, $session->UserId); } $reservationAttributes = $this->attributeService->GetByCategory(CustomAttributeCategory::RESERVATION); $attributeFilters = array(); foreach ($reservationAttributes as $attribute) { $attributeValue = null; if (array_key_exists($attribute->Id(), $filters)) { $attributeValue = $filters[$attribute->Id()]; } $attributeFilters[] = new Attribute($attribute, $attributeValue); } $this->page->SetStartDate($startDate); $this->page->SetEndDate($endDate); $this->page->SetReferenceNumber($referenceNumber); $this->page->SetScheduleId($scheduleId); $this->page->SetResourceId($resourceId); $this->page->SetUserId($userId); $this->page->SetUserName($userName); $this->page->SetReservationStatusId($reservationStatusId); $this->page->SetResourceStatusFilterId($resourceStatusId); $this->page->SetResourceStatusReasonFilterId($resourceReasonId); $this->page->SetAttributeFilters($attributeFilters); $this->page->SetReservationAttributes($reservationAttributes); $filter = new ReservationFilter($startDate, $endDate, $referenceNumber, $scheduleId, $resourceId, $userId, $reservationStatusId, $resourceStatusId, $resourceReasonId, $attributeFilters); $reservations = $this->manageReservationsService->LoadFiltered($this->page->GetPageNumber(), $this->page->GetPageSize(), $filter, $session); /** @var ReservationItemView[] $reservationList */ $reservationList = $reservations->Results(); $this->page->BindReservations($reservationList); $this->page->BindPageInfo($reservations->PageInfo()); $seriesIds = array(); /** @var $reservationItemView ReservationItemView */ foreach ($reservationList as $reservationItemView) { $seriesIds[] = $reservationItemView->SeriesId; } if ($this->page->GetFormat() == 'csv') { $this->page->ShowCsv(); } else { $this->page->ShowPage(); } }
/** * @name GetAllSchedules * @description Loads all schedules * @response SchedulesResponse * @return void */ public function GetSchedules() { $schedules = $this->scheduleRepository->GetAll(); $this->server->WriteResponse(new SchedulesResponse($this->server, $schedules)); }
public function GetSourceSchedules() { return $this->scheduleRepo->GetAll(); }