public function executeChange() { $this->event = $this->getEventFromSlug($this->getRequestParameter('slug')); $this->regForm = $this->getOrCreateRegForm($this->event->getId()); $c = new Criteria(); $c->addAscendingOrderByColumn(RegFieldPeer::ID); $this->regFields = RegFieldPeer::doSelect($c); $this->forward404Unless($this->event); $this->forward404Unless($this->regForm); $this->forward404Unless($this->regFields); if ($this->getRequest()->getMethod() == sfRequest::POST) { $c = new Criteria(); $c->add(RegFormPeer::EVENT_ID, $this->event->getId()); RegFormPeer::doDelete($c); foreach ($this->regFields as $field) { $field_name = $field->getName(); if ($this->getRequestParameter($field_name)) { $checked_field = $this->getRequestParameter($field_name); $regForm = new RegForm(); $regForm->setEventId($this->event->getId()); $regForm->setRegFieldId($field->getId()); if (array_key_exists('required', $checked_field)) { $regForm->setRequiredField(true); } else { $regForm->setRequiredField(false); } $regForm->save(); } } return $this->redirect('@show_reg_form?slug=' . $this->event->getSlug()); } return sfView::SUCCESS; }
public function actionRegister() { $success = false; $this->layout = null; $this->breadCrumbs = array('Управление сайтом' => array('/users/default/siteManagment')); $form = new RegForm(); if (isset($_POST['RegForm'])) { $form->attributes = $_POST['RegForm']; if ($form->save()) { $success = true; } } $this->render('reg', array('user' => $form, 'success' => $success)); }