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,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<Grupo> { | @@ -37,10 +37,16 @@ public class GrupoDAO extends GenericDAO<Grupo> { | ||
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<Usuario> { | @@ -55,10 +55,17 @@ public class UsuarioDAO extends GenericDAO<Usuario> { | ||
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 | } |