diff --git a/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/grupos/form.jsp b/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/grupos/form.jsp index 72451cd..99ef45d 100644 --- a/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/grupos/form.jsp +++ b/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/grupos/form.jsp @@ -30,7 +30,7 @@
" method="post">
- +
diff --git a/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/tiposTeste/form.jsp b/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/tiposTeste/form.jsp index e287612..861307c 100644 --- a/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/tiposTeste/form.jsp +++ b/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/tiposTeste/form.jsp @@ -30,15 +30,15 @@ " method="post">
- +
- +
- +
diff --git a/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/tiposTeste/lista.jsp b/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/tiposTeste/lista.jsp index 46b4ce5..a5b09fd 100644 --- a/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/tiposTeste/lista.jsp +++ b/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/tiposTeste/lista.jsp @@ -40,7 +40,7 @@ ${tipo.tipo} - ${tipo.descricao} + ${tipo.descricao}
" class="btn btn-default btn-sm">Atualizar diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/GruposController.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/GruposController.java index 50b9ea4..499e524 100644 --- a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/GruposController.java +++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/GruposController.java @@ -26,7 +26,7 @@ public class GruposController { result = _result; validator = _validator; } - + @Get("/grupos/lista") @Restrito(descricao = "GRUPOS_LISTA") public List lista(Grupo grupo) { @@ -51,31 +51,15 @@ public class GruposController { @Restrito(descricao = "GRUPOS_ATUALIZAR") public Grupo form(Long id) { Grupo grupo = this.dao.load(id); - if (grupo.getPermissoes() != null) { - result.include("permissaoList", dao.getAllPermissoes(grupo.getPermissoes())); - } else { - result.include("permissaoList", dao.getAllPermissoes()); - } + getPermissaoList(grupo); return grupo; } @Post("/grupos") @Restrito(descricao = "GRUPOS_ADICIONAR") public void adicionar(Grupo grupo) { - Long idGrupoMesmoNome = dao.getIdByNome(grupo.getNome()); - - if (grupo.getNome() == null) { - validator.add(new ValidationMessage("O nome do grupo é obrigatório.", "grupo.nome")); - } else if (idGrupoMesmoNome != null) { - validator.add(new ValidationMessage("O grupo não pode ser igual a um já existente.", - "grupo.nome")); - } - if (grupo.getPermissoes() != null) { - result.include("permissaoList", dao.getAllPermissoes(grupo.getPermissoes())); - } else { - result.include("permissaoList", dao.getAllPermissoes()); - } - validator.onErrorUsePageOf(GruposController.class).form(); + getPermissaoList(grupo); + validate(grupo); dao.save(grupo); @@ -86,26 +70,13 @@ public class GruposController { @Put("/grupos") @Restrito(descricao = "GRUPOS_ATUALIZAR") public void atualizar(Grupo grupo) { + getPermissaoList(grupo); + validate(grupo); + Grupo grupoCadastrado = dao.load(grupo.getId()); grupoCadastrado.setNome(grupo.getNome()); grupoCadastrado.setPermissoes(grupo.getPermissoes()); - Long idGrupoMesmoNome = dao.getIdByNome(grupo.getNome(), grupo.getId()); - - if (grupo.getNome() == null) { - validator.add(new ValidationMessage("O nome do grupo é obrigatório.", "grupo.nome")); - } else if (idGrupoMesmoNome != null && !idGrupoMesmoNome.equals(grupo.getId())) { - validator.add(new ValidationMessage("O grupo não pode ser igual a um já existente.", - "grupo.nome")); - } - - if (grupo.getPermissoes() != null) { - result.include("permissaoList", dao.getAllPermissoes(grupo.getPermissoes())); - } else { - result.include("permissaoList", dao.getAllPermissoes()); - } - validator.onErrorUsePageOf(GruposController.class).form(); - dao.saveOrUpdate(grupoCadastrado); result.include("mensagem", "Grupo alterado com sucesso."); @@ -119,7 +90,8 @@ public class GruposController { if (!grupo.getUsuarios().isEmpty()) { validator.add(new ValidationMessage( - "O grupo está sendo referenciado e não pode ser excluído.", "grupo.nome")); + "O grupo está sendo referenciado e não pode ser excluído.", + "grupo.nome")); } validator.onErrorForwardTo(GruposController.class).lista(); @@ -129,4 +101,28 @@ public class GruposController { result.redirectTo(GruposController.class).lista(); } + private void getPermissaoList(Grupo grupo) { + if (grupo.getPermissoes() != null) { + result.include("permissaoList", + dao.getAllPermissoes(grupo.getPermissoes())); + } else { + result.include("permissaoList", dao.getAllPermissoes()); + } + } + + private void validate(Grupo grupo) { + Long idGrupoMesmoNome = dao.getIdByNome(grupo.getNome(), grupo.getId()); + + if (grupo.getNome() == null) { + validator.add(new ValidationMessage( + "O nome do grupo é obrigatório.", "grupo.nome")); + } else if (idGrupoMesmoNome != null) { + validator.add(new ValidationMessage( + "O grupo não pode ser igual a um já existente.", + "grupo.nome")); + } + + validator.onErrorUsePageOf(GruposController.class).form(); + } + } diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/TiposTesteController.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/TiposTesteController.java index a60b27b..6ddf4e3 100644 --- a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/TiposTesteController.java +++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/TiposTesteController.java @@ -3,8 +3,6 @@ package br.com.eselo.controller; import java.util.List; import br.com.caelum.vraptor.Get; -import br.com.caelum.vraptor.Path; -import br.com.caelum.vraptor.Post; import br.com.caelum.vraptor.Put; import br.com.caelum.vraptor.Resource; import br.com.caelum.vraptor.Result; diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/UsuariosController.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/UsuariosController.java index 74621bd..0f492ae 100644 --- a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/UsuariosController.java +++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/UsuariosController.java @@ -83,39 +83,23 @@ public class UsuariosController { @Post("/usuarios") @Restrito(descricao = "USUARIOS_ADICIONAR") public void adicionar(Usuario usuario) { - if (usuario.getNome() == null) { - validator.add(new ValidationMessage("O nome é obrigatório.", - "usuario.nome")); - } else if (usuario.getCpf() == null) { - validator.add(new ValidationMessage("O CPF é obrigatório.", - "usuario.cpf")); - } else if (usuario.getEmail() == null) { - validator.add(new ValidationMessage("O email é obrigatório.", - "usuario.email")); - } else if (usuario.getGrupo().getId() == null) { - validator.add(new ValidationMessage("O grupo é obrigatório.", - "usuario.grupo.id")); - } else if (usuario.getSenha() == null) { - validator.add(new ValidationMessage("A senha é obrigatória.", - "usuario.senha")); - } else if (dao.existeUsuario(usuario)) { - validator.add(new ValidationMessage( - "O usuário não pode ser igual a um já existente.", - "usuario.cpf")); - } - result.include("grupoList", dao.getAllGrupos()); - validator.onErrorUsePageOf(UsuariosController.class).form(); - + validate(usuario); + dao.save(usuario); result.include("mensagem", "Usuário salvo com sucesso."); result.redirectTo(UsuariosController.class).lista(); } + + @Put("/usuarios") @Restrito(descricao = "USUARIOS_ATUALIZAR") public void atualizar(Usuario usuario) { + result.include("grupoList", dao.getAllGrupos()); + validate(usuario); + Usuario usuarioCadastrado = dao.load(usuario.getId()); usuarioCadastrado.setNome(usuario.getNome()); usuarioCadastrado.setCpf(usuario.getCpf()); @@ -127,25 +111,6 @@ public class UsuariosController { usuarioCadastrado.setHashedSenha(usuario.getSenha()); } - Long idUsuarioMesmoCpf = dao.getIdByCpf(usuarioCadastrado.getCpf()); - - if (usuarioCadastrado.getCpf() == null) { - validator.add(new ValidationMessage("O CPF é obrigatório.", - "usuario.cpf")); - } else if (usuario.getEmail() == null) { - validator.add(new ValidationMessage("O email é obrigatório.", - "usuario.email")); - } else if (usuarioCadastrado.getNome() == null) { - validator.add(new ValidationMessage("O nome é obrigatório.", - "usuario.nome")); - } else if (idUsuarioMesmoCpf != null - && !idUsuarioMesmoCpf.equals(usuarioCadastrado.getId())) { - validator.add(new ValidationMessage( - "O usuário não pode ser igual a um já existente.", - "usuario.cpf")); - } - validator.onErrorUsePageOf(UsuariosController.class).form(); - dao.saveOrUpdate(usuarioCadastrado); result.include("mensagem", "Usuário alterado com sucesso."); @@ -264,4 +229,32 @@ public class UsuariosController { "Email de recuperação de senha enviado com sucesso."); result.redirectTo(UsuariosController.class).loginForm(); } + + private void validate(Usuario usuario) { + Long idUsuarioMesmoCpf = dao.getIdByCpf(usuario.getCpf(), usuario.getId()); + + if (usuario.getNome() == null) { + validator.add(new ValidationMessage("O nome é obrigatório.", + "usuario.nome")); + } else if (usuario.getCpf() == null) { + validator.add(new ValidationMessage("O CPF é obrigatório.", + "usuario.cpf")); + } else if (usuario.getEmail() == null) { + validator.add(new ValidationMessage("O email é obrigatório.", + "usuario.email")); + } else if (usuario.getGrupo().getId() == null) { + validator.add(new ValidationMessage("O grupo é obrigatório.", + "usuario.grupo.id")); + } else if (usuario.getSenha() == null) { + validator.add(new ValidationMessage("A senha é obrigatória.", + "usuario.senha")); + } else if (idUsuarioMesmoCpf != null) { + validator.add(new ValidationMessage( + "O usuário não pode ser igual a um já existente.", + "usuario.cpf")); + } + + validator.onErrorUsePageOf(UsuariosController.class).form(); + } + } diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/GrupoDAO.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/GrupoDAO.java index f106675..5b3ae14 100644 --- a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/GrupoDAO.java +++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/GrupoDAO.java @@ -37,10 +37,16 @@ public class GrupoDAO extends GenericDAO { } public Long getIdByNome(String nome, Long id) { - Grupo grupo = (Grupo) getSession() + Criteria criteria = getSession() .createCriteria(getPersistentClass()) - .add(Restrictions.eq("nome", nome)) - .add(Restrictions.ne("id", id)).uniqueResult(); + .add(Restrictions.eq("nome", nome)); + + if (id != null) { + criteria.add(Restrictions.ne("id", id)); + } + + Grupo grupo = (Grupo) criteria.uniqueResult(); + if (grupo != null) { return grupo.getId(); } diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/UsuarioDAO.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/UsuarioDAO.java index 881f44c..90854ec 100644 --- a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/UsuarioDAO.java +++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/UsuarioDAO.java @@ -55,10 +55,17 @@ public class UsuarioDAO extends GenericDAO { .uniqueResult(); } - public Long getIdByCpf(String cpf) { - Usuario usuario = (Usuario) getSession() + public Long getIdByCpf(String cpf, Long id) { + Criteria criteria = getSession() .createCriteria(getPersistentClass()) - .add(Restrictions.eq("cpf", cpf)).uniqueResult(); + .add(Restrictions.eq("cpf", cpf)); + + if (id != null) { + criteria.add(Restrictions.ne("id", id)); + } + + Usuario usuario = (Usuario) criteria.uniqueResult(); + if (usuario != null) { return usuario.getId(); } -- libgit2 0.21.2