Commit 141fdfd68195b3e07abda1b5ee376ba11c1db3f5

Authored by gibransodre
1 parent df5e52b1
Exists in master

Confirmação de usuario autorizado a gerar códigoHash.

WebContent/WEB-INF/jsp/questionario/questionario.jsp
... ... @@ -15,6 +15,8 @@
15 15 <fieldset>
16 16 <legend>Questionário</legend>
17 17  
  18 +<label for="autorizacao">Senha autorização: </label>
  19 +<input type="password" id="autorizacao" name="autorizacao"><br><br>
18 20 <label for="noOrgao">Órgão: </label>
19 21 <input type="text" id="noOrgao" name="noOrgao"><br><br>
20 22 <label for="emailDestinoOrgao">Email: </label>
... ...
src/br/com/controller/QuestionarioController.java
... ... @@ -12,6 +12,7 @@ import br.com.caelum.vraptor.Result;
12 12 import br.com.caelum.vraptor.Validator;
13 13 import br.com.caelum.vraptor.interceptor.multipart.UploadedFile;
14 14 import br.com.caelum.vraptor.validator.ValidationMessage;
  15 +import br.com.dao.AutorizacaoGeracaoHashDao;
15 16 import br.com.dao.QuestionarioDao;
16 17 import br.com.model.entity.Contato;
17 18 import br.com.model.entity.EnvioEmailSemAutenticacao;
... ... @@ -45,65 +46,83 @@ public class QuestionarioController {
45 46 }
46 47  
47 48 @Path("/confirmacaoHash")
48   - public void confirmacaoHash(String mensagemEnvio){
49   - result.include("mensagemEnvio", mensagemEnvio);
  49 + public void confirmacaoHash(){
  50 +
50 51 }
51 52  
52 53  
53 54 @Path("/salvar-questionario")
54   - public void questionarioSalvar(String emailDestinoOrgao, UploadedFile file, String noOrgao) {
55   - String[] codigo = emailDestinoOrgao.split("@");
56   - String codigoHash = codigo[0] + DateUtil.dataHoraAtual().toString().replace("/", "").replace(" ", "").replace(":", "");
57   -
58   - String mensagemEnvio = "";
59   - Questionario questionario = new Questionario();
60   - // BufferedReader reader = new BufferedReader(new InputStreamReader(file.getFile()));
61   -
62   - ManagerProperties managerProperties = new ManagerProperties();
  55 + public void questionarioSalvar(String autorizacao, String emailDestinoOrgao, UploadedFile file, String noOrgao) {
  56 +
63 57  
64   - String dtInicioQuestionario = "";
65   - String dtFimQuestionario = "";
66   - String hashAutenticacao = null;
  58 + AutorizacaoGeracaoHashDao autorizacaoGeracaoHashDao = new AutorizacaoGeracaoHashDao();
  59 + String mensagemEnvio = "";
67 60  
68   - try {
69   - Properties prop = managerProperties.getProp(this.application.getRealPath("") + "/WEB-INF/intervaloRespostaFormulario.properties");
  61 + if(autorizacaoGeracaoHashDao.verificarAutorizacaoGeracaoHash(path, autorizacao))
  62 + {
  63 + String[] codigo = emailDestinoOrgao.split("@");
  64 + String codigoHash = codigo[0] + DateUtil.dataHoraAtual().toString().replace("/", "").replace(" ", "").replace(":", "");
  65 +
70 66  
71   - dtInicioQuestionario = prop.getProperty("dataInicio");
72   - dtFimQuestionario = prop.getProperty("dataFim");
73   - hashAutenticacao = GeradorCodigoHash.gerarHash(questionario.getHashAutenticacao());
  67 + Questionario questionario = new Questionario();
  68 + // BufferedReader reader = new BufferedReader(new InputStreamReader(file.getFile()));
  69 +
  70 + ManagerProperties managerProperties = new ManagerProperties();
  71 +
  72 + String dtInicioQuestionario = "";
  73 + String dtFimQuestionario = "";
  74 + String hashAutenticacao = null;
  75 +
  76 + try {
  77 + Properties prop = managerProperties.getProp(this.application.getRealPath("") + "/WEB-INF/intervaloRespostaFormulario.properties");
  78 +
  79 + dtInicioQuestionario = prop.getProperty("dataInicio");
  80 + dtFimQuestionario = prop.getProperty("dataFim");
  81 + hashAutenticacao = GeradorCodigoHash.gerarHash(questionario.getHashAutenticacao());
  82 +
  83 + } catch (IOException e) {
  84 + e.printStackTrace();
  85 + } catch (NoSuchAlgorithmException e) {
74 86  
75   - } catch (IOException e) {
76 87 e.printStackTrace();
77   - } catch (NoSuchAlgorithmException e) {
78   -
79   - e.printStackTrace();
80   - }
81   -
82   - questionario.setDtInicioQuestionario(dtInicioQuestionario);
83   - questionario.setDtFimQuestionario(dtFimQuestionario);
84   - questionario.setEmailDestinoOrgao(emailDestinoOrgao);
85   - questionario.setHashAutenticacao(hashAutenticacao);
86   - questionario.setNoOrgao(noOrgao);
87   -
88   - QuestionarioDao questionarioDao = new QuestionarioDao();
89   -
90   - if (questionarioDao.salvarQuestionario(path, file.getFile(), questionario)) {
91   - Contato contato = new Contato();
92   - contato.setEmail(emailDestinoOrgao);
93   - contato.setAssunto("assunto");
94   - contato.setMensagem("Código Hash:" + hashAutenticacao);
95   - contato.setNome("nome");
96   -
97   - if(enviarHashPorEmail(contato))
98   - {
99   - mensagemEnvio = "Questionário salvo e enviado por email com suceso!";
100   - }else
101   - {
102   - mensagemEnvio = "Questionário salvo, mas não foi possível enviar email!";
  88 + }
  89 +
  90 + questionario.setDtInicioQuestionario(dtInicioQuestionario);
  91 + questionario.setDtFimQuestionario(dtFimQuestionario);
  92 + questionario.setEmailDestinoOrgao(emailDestinoOrgao);
  93 + questionario.setHashAutenticacao(hashAutenticacao);
  94 + questionario.setNoOrgao(noOrgao);
  95 +
  96 + QuestionarioDao questionarioDao = new QuestionarioDao();
  97 +
  98 + if (questionarioDao.salvarQuestionario(path, file.getFile(), questionario)) {
  99 + Contato contato = new Contato();
  100 + contato.setEmail(emailDestinoOrgao);
  101 + contato.setAssunto("assunto");
  102 + contato.setMensagem("Código Hash:" + hashAutenticacao);
  103 + contato.setNome("nome");
  104 +
  105 + if(enviarHashPorEmail(contato))
  106 + {
  107 + mensagemEnvio = "Questionário salvo e enviado por email com suceso!";
  108 + }else
  109 + {
  110 + mensagemEnvio = "Questionário salvo, mas não foi possível enviar email!";
  111 + }
  112 + result.include("mensagemEnvio", mensagemEnvio);
  113 + this.validator.add(new ValidationMessage("", ""));
  114 + this.validator.onErrorUsePageOf(QuestionarioController.class).confirmacaoHash();
103 115 }
  116 + }
  117 + else
  118 + {
  119 + mensagemEnvio = "É preciso autorização para salvar gerar código Hash!";
  120 + result.include("mensagemEnvio", mensagemEnvio);
104 121 this.validator.add(new ValidationMessage("", ""));
105   - this.validator.onErrorUsePageOf(QuestionarioController.class).confirmacaoHash(mensagemEnvio);
  122 + this.validator.onErrorUsePageOf(QuestionarioController.class).confirmacaoHash();
106 123 }
  124 +
  125 +
107 126 }
108 127  
109 128 /*
... ...
src/br/com/dao/AutorizacaoGeracaoHashDao.java 0 → 100644
... ... @@ -0,0 +1,51 @@
  1 +package br.com.dao;
  2 +
  3 +import java.security.NoSuchAlgorithmException;
  4 +import java.sql.Connection;
  5 +import java.sql.ResultSet;
  6 +import java.sql.SQLException;
  7 +import java.sql.Statement;
  8 +
  9 +import br.com.model.entity.Questionario;
  10 +import br.com.util.DateUtil;
  11 +import br.com.util.GeradorCodigoHash;
  12 +
  13 +public class AutorizacaoGeracaoHashDao {
  14 +
  15 + public boolean verificarAutorizacaoGeracaoHash(String path, String senha) {
  16 +
  17 + String sql = "";
  18 + Connection con = Conexao.conecta(path);
  19 + Statement estado;
  20 + ResultSet rset = null;
  21 + boolean usuarioAutorizado = false;
  22 + try {
  23 +
  24 + estado = con.createStatement();
  25 +
  26 + estado.execute(sql.toString());
  27 + sql = "SELECT usuario_ativo FROM public.autorizacao_geracao_hash where senha_autorizacao = '"+ senha +"' and usuario_ativo = true;";
  28 +
  29 + rset = estado.executeQuery(sql);
  30 +
  31 + while (rset.next()) {
  32 + usuarioAutorizado = true;
  33 + }
  34 +
  35 + } catch (SQLException e) {
  36 + System.out.println("Deu erro!");
  37 + e.printStackTrace();
  38 +
  39 + } finally {
  40 + if (con != null) {
  41 + try {
  42 + con.close();
  43 + } catch (SQLException e) {
  44 + e.printStackTrace();
  45 + }
  46 + }
  47 + }
  48 +
  49 + return usuarioAutorizado;
  50 + }
  51 +}
... ...