Commit a59611cf8def992a183d15d8847d3b037d1368b8

Authored by vitor.pacheco
1 parent a3e2d703
Exists in master

Teste #3330: Campos Obrigatórios

git-svn-id: https://svn.bento.ifrs.edu.br/default/ASES/e-selo@9835 c2178572-b5ca-4887-91d2-9e3a90c7d55b
Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/grupos/form.jsp
@@ -30,7 +30,7 @@ @@ -30,7 +30,7 @@
30 <form name="gruposForm" class="form-horizontal" action="<c:url value="/grupos"/>" method="post"> 30 <form name="gruposForm" class="form-horizontal" action="<c:url value="/grupos"/>" method="post">
31 <fieldset> 31 <fieldset>
32 <div class="form-group"> 32 <div class="form-group">
33 - <label for="inputNome" class="col-lg-2 control-label">Nome</label> 33 + <label for="inputNome" class="col-lg-2 control-label required">Nome</label>
34 <div class="col-lg-10"> 34 <div class="col-lg-10">
35 <input id="inputNome" name="grupo.nome" type="text" class="form-control required" placeholder="Nome" value="${grupo.nome}" /> 35 <input id="inputNome" name="grupo.nome" type="text" class="form-control required" placeholder="Nome" value="${grupo.nome}" />
36 </div> 36 </div>
Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/tiposTeste/form.jsp
@@ -30,15 +30,15 @@ @@ -30,15 +30,15 @@
30 <form name="tipoTesteForm" class="form-horizontal" action="<c:url value="/tiposTeste"/>" method="post"> 30 <form name="tipoTesteForm" class="form-horizontal" action="<c:url value="/tiposTeste"/>" method="post">
31 <fieldset> 31 <fieldset>
32 <div class="form-group"> 32 <div class="form-group">
33 - <label for="inputTipo" class="col-lg-2 control-label">Tipo</label> 33 + <label for="inputTipo" class="col-lg-2 control-label required">Tipo</label>
34 <div class="col-lg-10"> 34 <div class="col-lg-10">
35 <input id="inputTipo" name="tipoTeste.tipo" type="text" class="form-control required" ${tipoTeste.id != null ? "readonly" : ""} placeholder="Tipo" maxlength="100" value="${tipoTeste.tipo}" /> 35 <input id="inputTipo" name="tipoTeste.tipo" type="text" class="form-control required" ${tipoTeste.id != null ? "readonly" : ""} placeholder="Tipo" maxlength="100" value="${tipoTeste.tipo}" />
36 </div> 36 </div>
37 </div> 37 </div>
38 <div class="form-group"> 38 <div class="form-group">
39 - <label for="inputDescricao" class="col-lg-2 control-label">Descrição</label> 39 + <label for="inputDescricao" class="col-lg-2 control-label required">Descrição</label>
40 <div class="col-lg-10"> 40 <div class="col-lg-10">
41 - <input id="inputDescricao" name="tipoTeste.descricao" type="text" class="form-control required" placeholder="Descrição" maxlength="500" value="${tipoTeste.descricao}" /> 41 + <textarea id="inputDescricao" name="tipoTeste.descricao" class="form-control required" placeholder="Descrição" maxlength="500" rows="4">${tipoTeste.descricao}</textarea>
42 </div> 42 </div>
43 </div> 43 </div>
44 44
Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/tiposTeste/lista.jsp
@@ -40,7 +40,7 @@ @@ -40,7 +40,7 @@
40 <c:forEach items="${tipoTesteList}" var="tipo"> 40 <c:forEach items="${tipoTesteList}" var="tipo">
41 <tr> 41 <tr>
42 <td>${tipo.tipo}</td> 42 <td>${tipo.tipo}</td>
43 - <td>${tipo.descricao}</td> 43 + <td style="text-align: justify;">${tipo.descricao}</td>
44 <td> 44 <td>
45 <div class="btn-group"> 45 <div class="btn-group">
46 <a href="<c:url value="/tiposTeste/${tipo.id}" />" class="btn btn-default btn-sm">Atualizar</a> 46 <a href="<c:url value="/tiposTeste/${tipo.id}" />" class="btn btn-default btn-sm">Atualizar</a>
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/GruposController.java
@@ -26,7 +26,7 @@ public class GruposController { @@ -26,7 +26,7 @@ public class GruposController {
26 result = _result; 26 result = _result;
27 validator = _validator; 27 validator = _validator;
28 } 28 }
29 - 29 +
30 @Get("/grupos/lista") 30 @Get("/grupos/lista")
31 @Restrito(descricao = "GRUPOS_LISTA") 31 @Restrito(descricao = "GRUPOS_LISTA")
32 public List<Grupo> lista(Grupo grupo) { 32 public List<Grupo> lista(Grupo grupo) {
@@ -51,31 +51,15 @@ public class GruposController { @@ -51,31 +51,15 @@ public class GruposController {
51 @Restrito(descricao = "GRUPOS_ATUALIZAR") 51 @Restrito(descricao = "GRUPOS_ATUALIZAR")
52 public Grupo form(Long id) { 52 public Grupo form(Long id) {
53 Grupo grupo = this.dao.load(id); 53 Grupo grupo = this.dao.load(id);
54 - if (grupo.getPermissoes() != null) {  
55 - result.include("permissaoList", dao.getAllPermissoes(grupo.getPermissoes()));  
56 - } else {  
57 - result.include("permissaoList", dao.getAllPermissoes());  
58 - } 54 + getPermissaoList(grupo);
59 return grupo; 55 return grupo;
60 } 56 }
61 57
62 @Post("/grupos") 58 @Post("/grupos")
63 @Restrito(descricao = "GRUPOS_ADICIONAR") 59 @Restrito(descricao = "GRUPOS_ADICIONAR")
64 public void adicionar(Grupo grupo) { 60 public void adicionar(Grupo grupo) {
65 - Long idGrupoMesmoNome = dao.getIdByNome(grupo.getNome());  
66 -  
67 - if (grupo.getNome() == null) {  
68 - validator.add(new ValidationMessage("O nome do grupo é obrigatório.", "grupo.nome"));  
69 - } else if (idGrupoMesmoNome != null) {  
70 - validator.add(new ValidationMessage("O grupo não pode ser igual a um já existente.",  
71 - "grupo.nome"));  
72 - }  
73 - if (grupo.getPermissoes() != null) {  
74 - result.include("permissaoList", dao.getAllPermissoes(grupo.getPermissoes()));  
75 - } else {  
76 - result.include("permissaoList", dao.getAllPermissoes());  
77 - }  
78 - validator.onErrorUsePageOf(GruposController.class).form(); 61 + getPermissaoList(grupo);
  62 + validate(grupo);
79 63
80 dao.save(grupo); 64 dao.save(grupo);
81 65
@@ -86,26 +70,13 @@ public class GruposController { @@ -86,26 +70,13 @@ public class GruposController {
86 @Put("/grupos") 70 @Put("/grupos")
87 @Restrito(descricao = "GRUPOS_ATUALIZAR") 71 @Restrito(descricao = "GRUPOS_ATUALIZAR")
88 public void atualizar(Grupo grupo) { 72 public void atualizar(Grupo grupo) {
  73 + getPermissaoList(grupo);
  74 + validate(grupo);
  75 +
89 Grupo grupoCadastrado = dao.load(grupo.getId()); 76 Grupo grupoCadastrado = dao.load(grupo.getId());
90 grupoCadastrado.setNome(grupo.getNome()); 77 grupoCadastrado.setNome(grupo.getNome());
91 grupoCadastrado.setPermissoes(grupo.getPermissoes()); 78 grupoCadastrado.setPermissoes(grupo.getPermissoes());
92 79
93 - Long idGrupoMesmoNome = dao.getIdByNome(grupo.getNome(), grupo.getId());  
94 -  
95 - if (grupo.getNome() == null) {  
96 - validator.add(new ValidationMessage("O nome do grupo é obrigatório.", "grupo.nome"));  
97 - } else if (idGrupoMesmoNome != null && !idGrupoMesmoNome.equals(grupo.getId())) {  
98 - validator.add(new ValidationMessage("O grupo não pode ser igual a um já existente.",  
99 - "grupo.nome"));  
100 - }  
101 -  
102 - if (grupo.getPermissoes() != null) {  
103 - result.include("permissaoList", dao.getAllPermissoes(grupo.getPermissoes()));  
104 - } else {  
105 - result.include("permissaoList", dao.getAllPermissoes());  
106 - }  
107 - validator.onErrorUsePageOf(GruposController.class).form();  
108 -  
109 dao.saveOrUpdate(grupoCadastrado); 80 dao.saveOrUpdate(grupoCadastrado);
110 81
111 result.include("mensagem", "Grupo alterado com sucesso."); 82 result.include("mensagem", "Grupo alterado com sucesso.");
@@ -119,7 +90,8 @@ public class GruposController { @@ -119,7 +90,8 @@ public class GruposController {
119 90
120 if (!grupo.getUsuarios().isEmpty()) { 91 if (!grupo.getUsuarios().isEmpty()) {
121 validator.add(new ValidationMessage( 92 validator.add(new ValidationMessage(
122 - "O grupo está sendo referenciado e não pode ser excluído.", "grupo.nome")); 93 + "O grupo está sendo referenciado e não pode ser excluído.",
  94 + "grupo.nome"));
123 } 95 }
124 validator.onErrorForwardTo(GruposController.class).lista(); 96 validator.onErrorForwardTo(GruposController.class).lista();
125 97
@@ -129,4 +101,28 @@ public class GruposController { @@ -129,4 +101,28 @@ public class GruposController {
129 result.redirectTo(GruposController.class).lista(); 101 result.redirectTo(GruposController.class).lista();
130 } 102 }
131 103
  104 + private void getPermissaoList(Grupo grupo) {
  105 + if (grupo.getPermissoes() != null) {
  106 + result.include("permissaoList",
  107 + dao.getAllPermissoes(grupo.getPermissoes()));
  108 + } else {
  109 + result.include("permissaoList", dao.getAllPermissoes());
  110 + }
  111 + }
  112 +
  113 + private void validate(Grupo grupo) {
  114 + Long idGrupoMesmoNome = dao.getIdByNome(grupo.getNome(), grupo.getId());
  115 +
  116 + if (grupo.getNome() == null) {
  117 + validator.add(new ValidationMessage(
  118 + "O nome do grupo é obrigatório.", "grupo.nome"));
  119 + } else if (idGrupoMesmoNome != null) {
  120 + validator.add(new ValidationMessage(
  121 + "O grupo não pode ser igual a um já existente.",
  122 + "grupo.nome"));
  123 + }
  124 +
  125 + validator.onErrorUsePageOf(GruposController.class).form();
  126 + }
  127 +
132 } 128 }
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/TiposTesteController.java
@@ -3,8 +3,6 @@ package br.com.eselo.controller; @@ -3,8 +3,6 @@ package br.com.eselo.controller;
3 import java.util.List; 3 import java.util.List;
4 4
5 import br.com.caelum.vraptor.Get; 5 import br.com.caelum.vraptor.Get;
6 -import br.com.caelum.vraptor.Path;  
7 -import br.com.caelum.vraptor.Post;  
8 import br.com.caelum.vraptor.Put; 6 import br.com.caelum.vraptor.Put;
9 import br.com.caelum.vraptor.Resource; 7 import br.com.caelum.vraptor.Resource;
10 import br.com.caelum.vraptor.Result; 8 import br.com.caelum.vraptor.Result;
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/UsuariosController.java
@@ -83,39 +83,23 @@ public class UsuariosController { @@ -83,39 +83,23 @@ public class UsuariosController {
83 @Post("/usuarios") 83 @Post("/usuarios")
84 @Restrito(descricao = "USUARIOS_ADICIONAR") 84 @Restrito(descricao = "USUARIOS_ADICIONAR")
85 public void adicionar(Usuario usuario) { 85 public void adicionar(Usuario usuario) {
86 - if (usuario.getNome() == null) {  
87 - validator.add(new ValidationMessage("O nome é obrigatório.",  
88 - "usuario.nome"));  
89 - } else if (usuario.getCpf() == null) {  
90 - validator.add(new ValidationMessage("O CPF é obrigatório.",  
91 - "usuario.cpf"));  
92 - } else if (usuario.getEmail() == null) {  
93 - validator.add(new ValidationMessage("O email é obrigatório.",  
94 - "usuario.email"));  
95 - } else if (usuario.getGrupo().getId() == null) {  
96 - validator.add(new ValidationMessage("O grupo é obrigatório.",  
97 - "usuario.grupo.id"));  
98 - } else if (usuario.getSenha() == null) {  
99 - validator.add(new ValidationMessage("A senha é obrigatória.",  
100 - "usuario.senha"));  
101 - } else if (dao.existeUsuario(usuario)) {  
102 - validator.add(new ValidationMessage(  
103 - "O usuário não pode ser igual a um já existente.",  
104 - "usuario.cpf"));  
105 - }  
106 -  
107 result.include("grupoList", dao.getAllGrupos()); 86 result.include("grupoList", dao.getAllGrupos());
108 - validator.onErrorUsePageOf(UsuariosController.class).form();  
109 - 87 + validate(usuario);
  88 +
110 dao.save(usuario); 89 dao.save(usuario);
111 90
112 result.include("mensagem", "Usuário salvo com sucesso."); 91 result.include("mensagem", "Usuário salvo com sucesso.");
113 result.redirectTo(UsuariosController.class).lista(); 92 result.redirectTo(UsuariosController.class).lista();
114 } 93 }
115 94
  95 +
  96 +
116 @Put("/usuarios") 97 @Put("/usuarios")
117 @Restrito(descricao = "USUARIOS_ATUALIZAR") 98 @Restrito(descricao = "USUARIOS_ATUALIZAR")
118 public void atualizar(Usuario usuario) { 99 public void atualizar(Usuario usuario) {
  100 + result.include("grupoList", dao.getAllGrupos());
  101 + validate(usuario);
  102 +
119 Usuario usuarioCadastrado = dao.load(usuario.getId()); 103 Usuario usuarioCadastrado = dao.load(usuario.getId());
120 usuarioCadastrado.setNome(usuario.getNome()); 104 usuarioCadastrado.setNome(usuario.getNome());
121 usuarioCadastrado.setCpf(usuario.getCpf()); 105 usuarioCadastrado.setCpf(usuario.getCpf());
@@ -127,25 +111,6 @@ public class UsuariosController { @@ -127,25 +111,6 @@ public class UsuariosController {
127 usuarioCadastrado.setHashedSenha(usuario.getSenha()); 111 usuarioCadastrado.setHashedSenha(usuario.getSenha());
128 } 112 }
129 113
130 - Long idUsuarioMesmoCpf = dao.getIdByCpf(usuarioCadastrado.getCpf());  
131 -  
132 - if (usuarioCadastrado.getCpf() == null) {  
133 - validator.add(new ValidationMessage("O CPF é obrigatório.",  
134 - "usuario.cpf"));  
135 - } else if (usuario.getEmail() == null) {  
136 - validator.add(new ValidationMessage("O email é obrigatório.",  
137 - "usuario.email"));  
138 - } else if (usuarioCadastrado.getNome() == null) {  
139 - validator.add(new ValidationMessage("O nome é obrigatório.",  
140 - "usuario.nome"));  
141 - } else if (idUsuarioMesmoCpf != null  
142 - && !idUsuarioMesmoCpf.equals(usuarioCadastrado.getId())) {  
143 - validator.add(new ValidationMessage(  
144 - "O usuário não pode ser igual a um já existente.",  
145 - "usuario.cpf"));  
146 - }  
147 - validator.onErrorUsePageOf(UsuariosController.class).form();  
148 -  
149 dao.saveOrUpdate(usuarioCadastrado); 114 dao.saveOrUpdate(usuarioCadastrado);
150 115
151 result.include("mensagem", "Usuário alterado com sucesso."); 116 result.include("mensagem", "Usuário alterado com sucesso.");
@@ -264,4 +229,32 @@ public class UsuariosController { @@ -264,4 +229,32 @@ public class UsuariosController {
264 "Email de recuperação de senha enviado com sucesso."); 229 "Email de recuperação de senha enviado com sucesso.");
265 result.redirectTo(UsuariosController.class).loginForm(); 230 result.redirectTo(UsuariosController.class).loginForm();
266 } 231 }
  232 +
  233 + private void validate(Usuario usuario) {
  234 + Long idUsuarioMesmoCpf = dao.getIdByCpf(usuario.getCpf(), usuario.getId());
  235 +
  236 + if (usuario.getNome() == null) {
  237 + validator.add(new ValidationMessage("O nome é obrigatório.",
  238 + "usuario.nome"));
  239 + } else if (usuario.getCpf() == null) {
  240 + validator.add(new ValidationMessage("O CPF é obrigatório.",
  241 + "usuario.cpf"));
  242 + } else if (usuario.getEmail() == null) {
  243 + validator.add(new ValidationMessage("O email é obrigatório.",
  244 + "usuario.email"));
  245 + } else if (usuario.getGrupo().getId() == null) {
  246 + validator.add(new ValidationMessage("O grupo é obrigatório.",
  247 + "usuario.grupo.id"));
  248 + } else if (usuario.getSenha() == null) {
  249 + validator.add(new ValidationMessage("A senha é obrigatória.",
  250 + "usuario.senha"));
  251 + } else if (idUsuarioMesmoCpf != null) {
  252 + validator.add(new ValidationMessage(
  253 + "O usuário não pode ser igual a um já existente.",
  254 + "usuario.cpf"));
  255 + }
  256 +
  257 + validator.onErrorUsePageOf(UsuariosController.class).form();
  258 + }
  259 +
267 } 260 }
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/GrupoDAO.java
@@ -37,10 +37,16 @@ public class GrupoDAO extends GenericDAO&lt;Grupo&gt; { @@ -37,10 +37,16 @@ public class GrupoDAO extends GenericDAO&lt;Grupo&gt; {
37 } 37 }
38 38
39 public Long getIdByNome(String nome, Long id) { 39 public Long getIdByNome(String nome, Long id) {
40 - Grupo grupo = (Grupo) getSession() 40 + Criteria criteria = getSession()
41 .createCriteria(getPersistentClass()) 41 .createCriteria(getPersistentClass())
42 - .add(Restrictions.eq("nome", nome))  
43 - .add(Restrictions.ne("id", id)).uniqueResult(); 42 + .add(Restrictions.eq("nome", nome));
  43 +
  44 + if (id != null) {
  45 + criteria.add(Restrictions.ne("id", id));
  46 + }
  47 +
  48 + Grupo grupo = (Grupo) criteria.uniqueResult();
  49 +
44 if (grupo != null) { 50 if (grupo != null) {
45 return grupo.getId(); 51 return grupo.getId();
46 } 52 }
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/UsuarioDAO.java
@@ -55,10 +55,17 @@ public class UsuarioDAO extends GenericDAO&lt;Usuario&gt; { @@ -55,10 +55,17 @@ public class UsuarioDAO extends GenericDAO&lt;Usuario&gt; {
55 .uniqueResult(); 55 .uniqueResult();
56 } 56 }
57 57
58 - public Long getIdByCpf(String cpf) {  
59 - Usuario usuario = (Usuario) getSession() 58 + public Long getIdByCpf(String cpf, Long id) {
  59 + Criteria criteria = getSession()
60 .createCriteria(getPersistentClass()) 60 .createCriteria(getPersistentClass())
61 - .add(Restrictions.eq("cpf", cpf)).uniqueResult(); 61 + .add(Restrictions.eq("cpf", cpf));
  62 +
  63 + if (id != null) {
  64 + criteria.add(Restrictions.ne("id", id));
  65 + }
  66 +
  67 + Usuario usuario = (Usuario) criteria.uniqueResult();
  68 +
62 if (usuario != null) { 69 if (usuario != null) {
63 return usuario.getId(); 70 return usuario.getId();
64 } 71 }