Commit a59611cf8def992a183d15d8847d3b037d1368b8
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
Showing
8 changed files
with
92 additions
and
92 deletions
Show diff stats
Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/grupos/form.jsp
... | ... | @@ -30,7 +30,7 @@ |
30 | 30 | <form name="gruposForm" class="form-horizontal" action="<c:url value="/grupos"/>" method="post"> |
31 | 31 | <fieldset> |
32 | 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 | 34 | <div class="col-lg-10"> |
35 | 35 | <input id="inputNome" name="grupo.nome" type="text" class="form-control required" placeholder="Nome" value="${grupo.nome}" /> |
36 | 36 | </div> | ... | ... |
Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/tiposTeste/form.jsp
... | ... | @@ -30,15 +30,15 @@ |
30 | 30 | <form name="tipoTesteForm" class="form-horizontal" action="<c:url value="/tiposTeste"/>" method="post"> |
31 | 31 | <fieldset> |
32 | 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 | 34 | <div class="col-lg-10"> |
35 | 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 | 36 | </div> |
37 | 37 | </div> |
38 | 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 | 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 | 42 | </div> |
43 | 43 | </div> |
44 | 44 | ... | ... |
Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/tiposTeste/lista.jsp
... | ... | @@ -40,7 +40,7 @@ |
40 | 40 | <c:forEach items="${tipoTesteList}" var="tipo"> |
41 | 41 | <tr> |
42 | 42 | <td>${tipo.tipo}</td> |
43 | - <td>${tipo.descricao}</td> | |
43 | + <td style="text-align: justify;">${tipo.descricao}</td> | |
44 | 44 | <td> |
45 | 45 | <div class="btn-group"> |
46 | 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 | 26 | result = _result; |
27 | 27 | validator = _validator; |
28 | 28 | } |
29 | - | |
29 | + | |
30 | 30 | @Get("/grupos/lista") |
31 | 31 | @Restrito(descricao = "GRUPOS_LISTA") |
32 | 32 | public List<Grupo> lista(Grupo grupo) { |
... | ... | @@ -51,31 +51,15 @@ public class GruposController { |
51 | 51 | @Restrito(descricao = "GRUPOS_ATUALIZAR") |
52 | 52 | public Grupo form(Long id) { |
53 | 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 | 55 | return grupo; |
60 | 56 | } |
61 | 57 | |
62 | 58 | @Post("/grupos") |
63 | 59 | @Restrito(descricao = "GRUPOS_ADICIONAR") |
64 | 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 | 64 | dao.save(grupo); |
81 | 65 | |
... | ... | @@ -86,26 +70,13 @@ public class GruposController { |
86 | 70 | @Put("/grupos") |
87 | 71 | @Restrito(descricao = "GRUPOS_ATUALIZAR") |
88 | 72 | public void atualizar(Grupo grupo) { |
73 | + getPermissaoList(grupo); | |
74 | + validate(grupo); | |
75 | + | |
89 | 76 | Grupo grupoCadastrado = dao.load(grupo.getId()); |
90 | 77 | grupoCadastrado.setNome(grupo.getNome()); |
91 | 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 | 80 | dao.saveOrUpdate(grupoCadastrado); |
110 | 81 | |
111 | 82 | result.include("mensagem", "Grupo alterado com sucesso."); |
... | ... | @@ -119,7 +90,8 @@ public class GruposController { |
119 | 90 | |
120 | 91 | if (!grupo.getUsuarios().isEmpty()) { |
121 | 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 | 96 | validator.onErrorForwardTo(GruposController.class).lista(); |
125 | 97 | |
... | ... | @@ -129,4 +101,28 @@ public class GruposController { |
129 | 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 | 3 | import java.util.List; |
4 | 4 | |
5 | 5 | import br.com.caelum.vraptor.Get; |
6 | -import br.com.caelum.vraptor.Path; | |
7 | -import br.com.caelum.vraptor.Post; | |
8 | 6 | import br.com.caelum.vraptor.Put; |
9 | 7 | import br.com.caelum.vraptor.Resource; |
10 | 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 | 83 | @Post("/usuarios") |
84 | 84 | @Restrito(descricao = "USUARIOS_ADICIONAR") |
85 | 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 | 86 | result.include("grupoList", dao.getAllGrupos()); |
108 | - validator.onErrorUsePageOf(UsuariosController.class).form(); | |
109 | - | |
87 | + validate(usuario); | |
88 | + | |
110 | 89 | dao.save(usuario); |
111 | 90 | |
112 | 91 | result.include("mensagem", "Usuário salvo com sucesso."); |
113 | 92 | result.redirectTo(UsuariosController.class).lista(); |
114 | 93 | } |
115 | 94 | |
95 | + | |
96 | + | |
116 | 97 | @Put("/usuarios") |
117 | 98 | @Restrito(descricao = "USUARIOS_ATUALIZAR") |
118 | 99 | public void atualizar(Usuario usuario) { |
100 | + result.include("grupoList", dao.getAllGrupos()); | |
101 | + validate(usuario); | |
102 | + | |
119 | 103 | Usuario usuarioCadastrado = dao.load(usuario.getId()); |
120 | 104 | usuarioCadastrado.setNome(usuario.getNome()); |
121 | 105 | usuarioCadastrado.setCpf(usuario.getCpf()); |
... | ... | @@ -127,25 +111,6 @@ public class UsuariosController { |
127 | 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 | 114 | dao.saveOrUpdate(usuarioCadastrado); |
150 | 115 | |
151 | 116 | result.include("mensagem", "Usuário alterado com sucesso."); |
... | ... | @@ -264,4 +229,32 @@ public class UsuariosController { |
264 | 229 | "Email de recuperação de senha enviado com sucesso."); |
265 | 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<Grupo> { |
37 | 37 | } |
38 | 38 | |
39 | 39 | public Long getIdByNome(String nome, Long id) { |
40 | - Grupo grupo = (Grupo) getSession() | |
40 | + Criteria criteria = getSession() | |
41 | 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 | 50 | if (grupo != null) { |
45 | 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<Usuario> { |
55 | 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 | 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 | 69 | if (usuario != null) { |
63 | 70 | return usuario.getId(); |
64 | 71 | } | ... | ... |