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,6 +15,8 @@
15 <fieldset> 15 <fieldset>
16 <legend>Questionário</legend> 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 <label for="noOrgao">Órgão: </label> 20 <label for="noOrgao">Órgão: </label>
19 <input type="text" id="noOrgao" name="noOrgao"><br><br> 21 <input type="text" id="noOrgao" name="noOrgao"><br><br>
20 <label for="emailDestinoOrgao">Email: </label> 22 <label for="emailDestinoOrgao">Email: </label>
src/br/com/controller/QuestionarioController.java
@@ -12,6 +12,7 @@ import br.com.caelum.vraptor.Result; @@ -12,6 +12,7 @@ import br.com.caelum.vraptor.Result;
12 import br.com.caelum.vraptor.Validator; 12 import br.com.caelum.vraptor.Validator;
13 import br.com.caelum.vraptor.interceptor.multipart.UploadedFile; 13 import br.com.caelum.vraptor.interceptor.multipart.UploadedFile;
14 import br.com.caelum.vraptor.validator.ValidationMessage; 14 import br.com.caelum.vraptor.validator.ValidationMessage;
  15 +import br.com.dao.AutorizacaoGeracaoHashDao;
15 import br.com.dao.QuestionarioDao; 16 import br.com.dao.QuestionarioDao;
16 import br.com.model.entity.Contato; 17 import br.com.model.entity.Contato;
17 import br.com.model.entity.EnvioEmailSemAutenticacao; 18 import br.com.model.entity.EnvioEmailSemAutenticacao;
@@ -45,65 +46,83 @@ public class QuestionarioController { @@ -45,65 +46,83 @@ public class QuestionarioController {
45 } 46 }
46 47
47 @Path("/confirmacaoHash") 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 @Path("/salvar-questionario") 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 e.printStackTrace(); 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 this.validator.add(new ValidationMessage("", "")); 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 @@ @@ -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 +}