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; }