Commit 141fdfd68195b3e07abda1b5ee376ba11c1db3f5
1 parent
df5e52b1
Exists in
master
Confirmação de usuario autorizado a gerar códigoHash.
Showing
3 changed files
with
119 additions
and
47 deletions
Show diff stats
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 | /* |
@@ -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 | +} |