Exemple #1
0
 public function GetLayout(UserSession $user)
 {
     $scheduleId = $this->_page->GetScheduleId();
     $layoutDate = $this->_page->GetLayoutDate();
     $requestedDate = Date::Parse($layoutDate, $user->Timezone);
     $layout = $this->_scheduleService->GetLayout($scheduleId, new ScheduleLayoutFactory($user->Timezone));
     $periods = $layout->GetLayout($requestedDate);
     //		Log::Debug('Getting layout for scheduleId=%s, layoutDate=%s, periods=%s', $scheduleId, $layoutDate,var_export($periods, true));
     $this->_page->SetLayoutResponse(new ScheduleLayoutSerializable($periods));
 }
 /**
  * @param ISchedulePage $page
  * @param ISchedule[] $schedules
  * @param UserSession $user
  * @return Schedule
  */
 public function GetCurrentSchedule(ISchedulePage $page, $schedules, UserSession $user)
 {
     $requestedScheduleId = $page->GetScheduleId();
     if (!empty($requestedScheduleId)) {
         $schedule = $this->GetSchedule($schedules, $page->GetScheduleId());
     } elseif (!empty($user->ScheduleId)) {
         $schedule = $this->GetSchedule($schedules, $user->ScheduleId);
         if ($schedule->GetId() != $user->ScheduleId) {
             $schedule = $this->GetDefaultSchedule($schedules);
         }
     } else {
         $schedule = $this->GetDefaultSchedule($schedules);
     }
     return $schedule;
 }