* @version SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $ */ class eventsActions extends sfActions { public function executeList(sfWebRequest $request) { $query = Doctrine::getTable('Event')->createQuery() ->addOrderBy('created_at DESC'); $this->pager = new sfDoctrinePager( 'Event', $request->getParameter('pagesize', sfConfig::get('app_default_pagesize')) ); $this->pager->setQuery($query); $this->pager->setPage($request->getParameter('page', 1)); $this->pager->init(); } public function executeCreate(sfWebRequest $request) { $this->form = new EventForm(); if($request->isMethod('post')) { $this->processForms($request); } $this->setTemplate('edit'); } public function executeUpdate(sfWebRequest $request) { $this->forward404Unless($this->event = $this->getRoute()->getObject()); $this->form = new EventForm($this->event); if($request->isMethod('put')) { $this->processForms($request); } $this->setTemplate('edit'); } protected function processForms(sfWebRequest $request) { $this->form->bind($request->getParameter($this->form->getName()), $request->getFiles($this->form->getName())); if($this->form->isValid()) { $event = $this->form->save(); $this->getUser()->addMessage('Událost uložena'); $this->redirect($this->generateUrl('events_list')); } } public function executeDelete(sfWebRequest $request) { $this->forward404Unless($this->event = $this->getRoute()->getObject()); $this->event->delete(); $this->getUser()->addMessage('Událost smazána'); $this->redirect($request->getReferer()); } }