Esempio n. 1
0
 private function processForm(sfWebRequest $request, sfForm $form)
 {
     $post = Xtras::helper($request->getParameter($form->getName()));
     $form->bind($post, $request->getFiles($form->getName()));
     if ($form->isValid()) {
         $obj = $form->save();
         if ($obj) {
             $notice = 'Dados gravados com sucesso.';
             $this->getUser()->setFlash('notice', "{$notice}", true);
             $this->getUser()->setAttribute(sfConfig::get('last_edited'), $obj->id);
             $saveEdit = $request->getCookie('salvaEdita', false);
             if ($saveEdit) {
                 sfContext::getInstance()->getResponse()->setCookie('salvaEdita', null);
                 $this->redirect(sfConfig::get('action_edit'), array_merge(sfConfig::get('params_route'), array('id' => $obj->id)));
             } else {
                 $this->redirect(sfConfig::get('redirect_index'), sfConfig::get('params_route'));
             }
         } else {
             $notice = 'Falha ao gravar.';
             die($notice);
             $this->getUser()->setFlash('notice', "{$notice}", true);
         }
     } else {
         // Formulário inválido
         $errors = array();
         foreach ($form as $k => $v) {
             if ($form[$k]->getError()) {
                 $errors[$k] = "{$form[$k]->renderLabelName()} - {$form[$k]->getError()}";
             }
         }
         // var_dump($form->getGlobalErrors());die;
         // var_dump($form->renderGlobalErrors());die;
         $notice = !empty($errors) ? join("<br>", $errors) : 'Formulário inválido | getGlobalErrors | renderGlobalErrors';
         $this->getUser()->setFlash('notice', "{$notice}", true);
     }
 }