* @version SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $ */ class pagesActions extends sfActions { public function executeList(sfWebRequest $request) { $query = Doctrine::getTable('Page')->createQuery() ->addOrderBy('title ASC'); $this->pager = new sfDoctrinePager( 'Page', $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->pageForm = new PageForm(); if($request->isMethod('post')) { $this->processForms($request, $this->pageForm); } $this->setTemplate('edit'); } public function executeUpdate(sfWebRequest $request) { $this->forward404Unless($this->page = $this->getRoute()->getObject()); $this->pageForm = new PageForm($this->page); if($request->isMethod('put')) { $this->processForms($request, $this->pageForm); } $this->setTemplate('edit'); } protected function processForms($request, PageForm $pageForm) { $pageForm->bind($request->getParameter($pageForm->getName())); if($pageForm->isValid()) { $page = $pageForm->save(); $this->getUser()->addMessage('Stránka uložena'); $this->redirect($this->generateUrl('pages_list')); } } public function executeDelete(sfWebRequest $request) { $this->forward404Unless($this->page = $this->getRoute()->getObject()); $this->forward404Unless($this->page->getIsDeletable()); $this->page->delete(); $this->getUser()->addMessage('Stránka smazána'); $this->redirect($request->getReferer()); } }