Ejemplo n.º 1
0
 public function editarAction()
 {
     $this->autenticacao();
     $sessao = Zend_Auth::getInstance()->getIdentity();
     $cache = Zend_Registry::get('cache_common');
     $ps = $cache->load('prefsis');
     $idEncontro = (int) $ps->encontro["id_encontro"];
     $idPessoa = $sessao["idPessoa"];
     $form = new Application_Form_PessoaEdit();
     $this->view->form = $form;
     $pessoa = new Application_Model_Pessoa();
     $participante = new Application_Model_Participante();
     $result = $participante->ler($idPessoa, $idEncontro);
     $form->populate($result);
     $data = $this->getRequest()->getPost();
     if ($this->getRequest()->isPost() && $form->isValid($data)) {
         $data = $form->getValues();
         $data2 = array('id_encontro' => $idEncontro, 'id_municipio' => $data['id_municipio'], 'id_instituicao' => $data['id_instituicao']);
         unset($data['id_municipio']);
         unset($data['id_instituicao']);
         $sentinela = 0;
         $adapter = $pessoa->getAdapter();
         try {
             $adapter->beginTransaction();
             //$where = $pessoa->getAdapter()->quoteInto('id_pessoa = ?', $idPessoa);
             $pessoa->atualizar($data, $idPessoa);
             $where = $participante->getAdapter()->quoteInto('id_pessoa = ?', $idPessoa) . $participante->getAdapter()->quoteInto(' AND id_encontro = ? ', $idEncontro);
             $participante->update($data2, $where);
             $adapter->commit();
         } catch (Zend_Db_Exception $ex) {
             $adapter->rollBack();
             $sentinela = 1;
             $this->_helper->flashMessenger->addMessage(array('danger' => _('An unexpected error ocurred.<br/> Details:&nbsp;') . $ex->getMessage()));
         }
         // codigo responsavel por enviar email para confirmacao
         if ($sentinela == 0) {
             return $this->_helper->redirector->goToRoute(array('controller' => 'participante', 'action' => 'ver'), 'default', true);
         }
     }
     $this->view->id = $idPessoa;
     $sql = $pessoa->getAdapter()->quoteInto('id_pessoa = ?', $idPessoa);
     $this->view->user = $pessoa->fetchRow($sql);
 }