Ejemplo n.º 1
0
 /**
  * Mapeada como:
  *    /u/confirmar/:id
  *    /u/desfazer-confirmar/:id
  * @return type
  */
 public function presencaAction()
 {
     if (!$this->autenticacao(true)) {
         return;
     }
     $id = $this->_getParam('id', 0);
     $confirmar = $this->_getParam('confirmar', 'f');
     $cache = Zend_Registry::get('cache_common');
     $ps = $cache->load('prefsis');
     $idEncontro = (int) $ps->encontro["id_encontro"];
     $model = new Application_Model_Pessoa();
     try {
         if ($confirmar == 't') {
             $data = 'now()';
             $this->view->msg = $this->t->_("Participant confirmed.");
         } else {
             $data = 'null';
             $this->view->msg = $this->t->_("Participant confirmation undone.");
         }
         $select = "UPDATE encontro_participante SET confirmado = ?,\n                data_confirmacao = {$data} where id_pessoa = ? AND id_encontro = ?";
         $model->getAdapter()->query($select, array($confirmar, $id, $idEncontro));
         $this->view->ok = true;
     } catch (Exception $e) {
         $this->view->ok = false;
         $this->view->erro = "Ocorreu um erro inesperado ao marcar interesse em <b>evento</b>.<br/>Detalhes" . $e->getMessage();
     }
 }
Ejemplo n.º 2
0
 protected function mockLogin($username = '******', $password = '******')
 {
     $model = new Application_Model_Pessoa();
     $resultadoConsulta = $model->avaliaLogin($username, $password);
     $config = new Zend_Config_Ini(APPLICATION_PATH . '/configs/application.ini', 'staging');
     $idEncontro = $config->encontro->codigo;
     $idPessoa = $resultadoConsulta['id_pessoa'];
     $administrador = $resultadoConsulta['administrador'];
     $apelido = $resultadoConsulta['apelido'];
     $twitter = $resultadoConsulta['twitter'];
     $auth = Zend_Auth::getInstance();
     $storage = $auth->getStorage();
     $storage->write(array("idPessoa" => $idPessoa, "administrador" => $administrador, "apelido" => $apelido, "idEncontro" => $idEncontro, "twitter" => $twitter, "email" => $username));
 }
Ejemplo n.º 3
0
 public function editarPermissaoAction()
 {
     $this->autenticacao();
     $this->view->title = $this->t->_('Edit Permission');
     $cache = Zend_Registry::get('cache_common');
     $ps = $cache->load('prefsis');
     $idEncontro = (int) $ps->encontro["id_encontro"];
     $model = new Application_Model_Pessoa();
     $form = new Admin_Form_Permissao();
     $this->view->form = $form;
     if ($this->getRequest()->isPost()) {
         $formData = $this->getRequest()->getPost();
         if ($form->isValid($formData)) {
             $cancelar = $this->getRequest()->getPost('cancelar');
             if (isset($cancelar)) {
                 return $this->_helper->redirector->goToRoute(array('module' => 'admin', 'controller' => 'config', 'action' => 'permissao-usuarios'), 'default', true);
             }
             $id = $this->getRequest()->getParam('id', 0);
             $admin = (bool) $form->getValue('admin') ? 't' : 'f';
             $id_tipo_usuario = $form->getValue('id_tipo_usuario');
             $adapter = $model->getAdapter();
             try {
                 $adapter->beginTransaction();
                 $model->update(array('administrador' => $admin), 'id_pessoa = ' . $id);
                 $adapter->update("encontro_participante", array('id_tipo_usuario' => $id_tipo_usuario), "id_encontro = {$idEncontro} AND id_pessoa = {$id}");
                 $adapter->commit();
                 return $this->_helper->redirector->goToRoute(array('module' => 'admin', 'controller' => 'config', 'action' => 'permissao-usuarios'), 'default', true);
             } catch (Exception $e) {
                 $this->_helper->flashMessenger->addMessage(array('danger' => 'Ocorreu um erro inesperado.<br/>Detalhes: ' . $e->getMessage()));
                 $adapter->rollBack();
             }
         } else {
             $form->populate($formData);
         }
     } else {
         $id = $this->_getParam('id', 0);
         if ($id > 0) {
             $rs = $model->buscarPermissaoUsuarios($idEncontro, $id, "id_pessoa");
             $data = $rs[0];
             $form->populate(array('admin' => $data['administrador'], 'id_tipo_usuario' => $data['id_tipo_usuario']));
             $this->view->usuario = $data['nome'];
         }
     }
 }
Ejemplo n.º 4
0
 public function verAction()
 {
     $menu = new Sige_Mobile_Menu($this->view, "participante");
     $this->view->menu = $menu;
     $model = new Application_Model_Pessoa();
     $id = $this->_getParam('id', "");
     if (!empty($id)) {
         if (is_numeric($id)) {
             $sql = $model->getAdapter()->quoteInto('id_pessoa = ?', $id);
         } else {
             $sql = $model->getAdapter()->quoteInto('twitter = ?', $id);
         }
     } else {
         if (Zend_Auth::getInstance()->hasIdentity()) {
             $sessao = Zend_Auth::getInstance()->getIdentity();
             if (!empty($sessao["twitter"])) {
                 $sql = $model->getAdapter()->quoteInto('twitter = ?', $sessao["twitter"]);
                 $id = $sessao["twitter"];
             } else {
                 $sql = $model->getAdapter()->quoteInto('id_pessoa = ?', $sessao["idPessoa"]);
                 $id = $sessao["idPessoa"];
             }
         } else {
             $this->_helper->flashMessenger->addMessage(array('danger' => 'Participante não encontrado.'));
             return;
         }
     }
     $this->view->id = $id;
     $this->view->user = $model->fetchRow($sql);
 }
Ejemplo n.º 5
0
 /**
  * @deprecated use send
  * @param type $idpessoa
  * @param type $idEncrontro
  */
 public function sendCorrecao($idpessoa, $idEncrontro)
 {
     $mail = new Zend_Mail();
     $pessoa = new Application_Model_Pessoa();
     $linha = $pessoa->find($idpessoa)->current();
     // $pessoa->email = $linha->email;
     $senha = $pessoa->gerarSenha($linha->email);
     $emailText = $this->getMsgCorrecao($idEncrontro);
     $emailText->mensagem = str_replace('{nome}', $linha->nome, $emailText->mensagem);
     $emailText->mensagem = str_replace('{email}', $linha->email, $emailText->mensagem);
     $emailText->mensagem = str_replace('{senha}', $senha, $emailText->mensagem);
     $emailText->mensagem = str_replace('{href_link}', $emailText->link, $emailText->mensagem);
     $mail->setBodyHtml(iconv($this->config->email->in_charset, $this->config->email->out_charset, $emailText->mensagem));
     $mail->addTo($linha->email, $linha->nome);
     $mail->setSubject(iconv($this->config->email->in_charset, $this->config->email->out_charset, $emailText->assunto));
     $mail->send();
 }
Ejemplo n.º 6
0
 public function requisitarMudarEmailAction()
 {
     $this->_helper->layout->setLayout('twbs3/layout');
     $form = new Application_Form_RequisitarMudarEmail();
     if ($this->getRequest()->isPost() && $form->isValid($this->getRequest()->getPost())) {
         $data = $form->getValues();
         unset($data['captcha']);
         unset($data['submit']);
         $pessoa = new Application_Model_Pessoa();
         // 1. ver se e-mail existe.
         $from = $pessoa->select()->from('pessoa', array("id_pessoa"));
         $select = $from->where("email = ?", $data['email_anterior']);
         $resultado = $pessoa->fetchRow($select);
         if (!empty($resultado)) {
             // 2. ver se novo e-mail já existe. Se sim, não pode ser substituído
             $from2 = $pessoa->select()->from('pessoa', array("id_pessoa"));
             $select2 = $from2->where("email = ?", $data['novo_email']);
             $resultado2 = $pessoa->fetchRow($select2);
             if (empty($resultado2)) {
                 try {
                     $model = new Application_Model_MudarEmail();
                     $model->insert($data);
                     $this->_helper->flashMessenger->addMessage(array('success' => _('Your request for change your e-mail was sent. Wait for an approval soon.')));
                     return $this->_helper->redirector->goToRoute(array(), 'login', true);
                 } catch (Exception $e) {
                     $this->_helper->flashMessenger->addMessage(array('danger' => $e->getMessage()));
                 }
             } else {
                 $this->_helper->flashMessenger->addMessage(array('warning' => _('The new E-mail address that you inform already exists!')));
             }
         } else {
             $this->_helper->flashMessenger->addMessage(array('warning' => _('Your previous E-mail address was not found!')));
         }
     }
     $this->view->form = $form;
 }
Ejemplo n.º 7
0
 public function certificadosAction()
 {
     $this->autenticacao();
     $sessao = Zend_Auth::getInstance()->getIdentity();
     $id_pessoa = $sessao["idPessoa"];
     $this->view->menu->setAtivo('certificados');
     $model = new Application_Model_Participante();
     $this->view->certsParticipanteEncontro = $model->listarCertificadosParticipanteEncontro($id_pessoa);
     $this->view->certsParticipanteEvento = $model->listarCertificadosParticipanteEvento($id_pessoa);
     //        $this->view->certsPalestrante = array_merge($model->listarCertificadosPalestrante($id_pessoa), $model->listarCertificadosPalestrantesOutros($id_pessoa), $model->listarCertificadosPalestrantesArtigos($id_pessoa));
     $this->view->certsPalestrante = array_merge($model->listarCertificadosPalestrante($id_pessoa), $model->listarCertificadosPalestrantesOutros($id_pessoa));
     $this->view->id = $id_pessoa;
     $pessoa = new Application_Model_Pessoa();
     $sql = $pessoa->getAdapter()->quoteInto('id_pessoa = ?', $id_pessoa);
     $this->view->user = $pessoa->fetchRow($sql);
 }
Ejemplo n.º 8
0
 public function inscricoesListaPdfAction()
 {
     $this->autenticacao();
     $id_encontro = (int) $this->getRequest()->getParam("id_encontro", 0);
     $status = $this->getRequest()->getParam("status");
     if ($id_encontro < 1) {
         $this->_helper->flashMessenger->addMessage(array('error' => "Encontro inválido. Comece de novo. " . "Caso o erro persista, contate o administrador."));
         return $this->_helper->redirector->goToRoute(array(), 'default', true);
     }
     $model_pessoa = new Application_Model_Pessoa();
     switch ($status) {
         case "confirmadas":
             // inscrições confirmadas
             $rel = $model_pessoa->buscaParticipantes($id_encontro, "ep.confirmado='t'");
             break;
         case "nao-confirmadas":
             // inscrições não confirmadas
             $rel = $model_pessoa->buscaParticipantes($id_encontro, "ep.confirmado='f'");
             break;
         default:
             $status = "todas";
             // todas as inscrições
             $rel = $model_pessoa->buscaParticipantes($id_encontro);
             break;
     }
     $model_encontro = new Application_Model_Encontro();
     $encontro = $model_encontro->fetchRow("id_encontro = {$id_encontro}");
     if (empty($encontro)) {
         $this->_helper->flashMessenger->addMessage(array('error' => "Encontro ({$encontro}) inexistente."));
         return $this->_helper->redirector->goToRoute(array('module' => 'admin', 'controller' => 'relatorios', 'action' => 'index'), 'default', true);
     }
     if (empty($rel)) {
         $this->_helper->flashMessenger->addMessage(array("alert" => "O relatório não possui nenhum registro."));
         return $this->_helper->redirector->goToRoute(array('module' => 'admin', 'controller' => 'relatorios', 'action' => 'index'), 'default', true);
     }
     $pdf = new Sige_Pdf_Relatorio_InscricaoEncontro($rel, array("apelido_encontro" => $encontro["apelido_encontro"], "status" => $status));
     try {
         $pdf->gerarPdf();
     } catch (Exception $e) {
         throw new Exception("Erro ao gerar PDF: " . $e->getMessage());
     }
 }
Ejemplo n.º 9
0
 public function deletarEventoAction()
 {
     $this->_helper->layout()->disableLayout();
     $this->_helper->viewRenderer->setNoRender(true);
     $id_evento = $this->_getParam('evento', 0);
     $model_pessoa = new Application_Model_Pessoa();
     $model_evento = new Application_Model_Evento();
     try {
         if ($id_evento < 1) {
             throw new Exception("Parâmetros inválidos. Tente novamente do início ou contate o administrador.");
         }
         $this->autenticacao();
         $sessao = Zend_Auth::getInstance()->getIdentity();
         $id_pessoa_sessao = $sessao["idPessoa"];
         $id_pessoa_db = $model_evento->getResponsavel($id_evento);
         if ($id_pessoa_db != $id_pessoa_sessao && !$model_pessoa->isAdmin()) {
             throw new Exception("Você não é administrador para executar esta ação.");
         }
         $model_evento->deletarEvento($id_evento);
         $this->_helper->flashMessenger->addMessage(array('success' => 'Evento removido com sucesso.'));
     } catch (Zend_Db_Exception $ex) {
         if ($ex->getCode() == 23503) {
             $this->_helper->flashMessenger->addMessage(array('info' => _("This event could not be deleted.")));
         } else {
             $this->_helper->flashMessenger->addMessage(array('danger' => _('An unexpected error ocurred.<br/> Details:&nbsp;') . $ex->getMessage()));
         }
     }
     $this->_helper->redirector->goToRoute(array('controller' => 'evento', 'action' => 'index'), 'default', true);
 }