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();
 }
示例#3
0
 /**
  * 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());
 }