public function executeGanttIndex(sfWebRequest $request) { $this->handleZoneParameters($request); $this->getUser()->syncParameters($this, 'home', 'ganttIndex', array('rooms'), $request); if (is_null($this->rooms)) { $this->redirect('home/overallIndex?activityId=' . $this->activity->getId()); } $room_id_list = explode(',', $this->rooms); $this->room_list = RoomPeer::doSelectFromIdList($room_id_list); $this->count = count($this->room_list); $this->forward404Unless($this->count > 0, 'No rooms specified'); $this->getUser()->syncParameters($this, 'general', 'index', array('date'), $request); if (is_null($this->date)) { $this->date = time(); } else { $this->date = strtotime($this->date); } if ($this->count == 1) { if ($request->hasParameter('autobook')) { $this->redirect('reservation/new?roomId=' . $this->room_list[0]->getId() . '&date=' . date('Y-m-d H:i:s', $this->date)); } else { $this->redirect('reservation/index?roomId=' . $this->room_list[0]->getId()); } } $this->availability = RoomPeer::getGantt($this->room_list, $this->activity->getId(), $this->person, $this->date); $this->checkFeatures(); }