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: ') . $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); }