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 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&lt;Grupo&gt; {
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&lt;Usuario&gt; {
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 }
... ...