public function CurrentSummit() { $current_summit = Summit::CurrentSummit(); if (is_null($current_summit)) { $current_summit = $this->UpcomingSummit(); } return $current_summit; }
/** * @return ISummitAttendee|null */ public function getCurrentSummitAttendee() { $current_summit = Summit::CurrentSummit(); if ($current_summit) { return $this->getSummitAttendee($current_summit->ID); } return $this->getUpcomingSummitAttendee(); }
/** * Hand off presentation CRUD to a sub controller. Ensure the user * can write to the presentation first * * @param $r SS_HTTPRequest * @return RequestHandler */ public function handleManage(SS_HTTPRequest $r) { if ($r->param('PresentationID') === 'new') { $presentation = Presentation::create(); $presentation->SummitID = Summit::CurrentSummit()->ID; $presentation->CreatorID = Member::currentUserID(); $presentation->write(); return $this->redirect($presentation->EditLink()); } else { $presentation = Presentation::get()->byID($r->param('PresentationID')); } if (!$presentation) { return $this->httpError(404); } if ($presentation->isInDB() && !$presentation->canEdit()) { return $this->httpError(403, "You can't edit this presentation"); } if (!$presentation->isInDB() && !$presentation->canCreate()) { return $this->httpError(403); } $request = PresentationPage_ManageRequest::create($presentation, $this); return $request->handleRequest($r, DataModel::inst()); }