@Override protected ListagemResult<Usuario> getLista(WebRequestContext request, UsuarioFiltro filtro) { ListagemResult<Usuario> result = super.getLista(request, filtro); List<Usuario> listaUsuario = result.list(); if (request.getRequestQuery().contains("util")) { StringBuilder ids = new StringBuilder(); for (Usuario usuario : listaUsuario) { ids.append("'" + usuario.getNome() + "|" + usuario.getEmail() + "',"); } if (ids.length() > 0) { ids.delete(ids.length() - 1, ids.length()); } request.setAttribute("idsFormatados", ids.toString()); } PlanoGestao planoGestaoAtual = planoGestaoService.obtemPlanoGestaoAtual(); for (Usuario usuario : listaUsuario) { List<UnidadeGerencial> lista = unidadeGerencialService.loadByUsuarioPlanoGestao(usuario, planoGestaoAtual); if (lista != null && lista.size() > 0) { usuario.setUgsAtuais(CollectionsUtil.listAndConcatenate(lista, "sigla", ", ")); } } return result; }
@Override protected void entrada(WebRequestContext request, Usuario form) throws Exception { if (form.getId() == null) request.setAttribute("novo", true); // apenas se o usuario digitar que será verificado novamente form.setSenha(null); form.setVerificaSenha(null); // popular os perfis do usuario if (form.getId() != null) { form.setPapeis(usuarioPapelService.getPapeis(form)); } }
@Override protected void excluir(WebRequestContext request, Usuario bean) throws Exception { // Verifica se quem foi excluído é quem esta logado, se for invalida a sessão Usuario usuario = (Usuario) Neo.getUser(); boolean invalidar = bean.getId().equals(usuario.getId()) ? true : false; super.excluir(request, bean); if (invalidar) { request.getSession().invalidate(); } }
@Override protected void salvar(WebRequestContext request, Usuario bean) throws Exception { super.salvar(request, bean); request.addMessage("Usuário salvo com sucesso", MessageType.INFO); }