From bd913fd7a3faf3f27886ac6055239fef547d2d58 Mon Sep 17 00:00:00 2001 From: edmarmoretti Date: Wed, 12 Oct 2016 12:12:42 -0300 Subject: [PATCH] Alteração no layout da lista de dados no sistema de admin --- admin/admin.db | Bin 340992 -> 0 bytes admin1/usuarios/cadastro/exec.php | 23 +---------------------- admin1/usuarios/cadastro/index.js | 2 +- admin1/usuarios/grupos/exec.php | 58 +++++++++++++++++++++++++++++++++++++--------------------- admin1/usuarios/grupos/index.js | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---- admin1/usuarios/grupos/index.php | 22 ++++++++++++---------- 6 files changed, 113 insertions(+), 58 deletions(-) diff --git a/admin/admin.db b/admin/admin.db index c80cebf..9fbd488 100755 Binary files a/admin/admin.db and b/admin/admin.db differ diff --git a/admin1/usuarios/cadastro/exec.php b/admin1/usuarios/cadastro/exec.php index cf1e0b3..e6b9c48 100755 --- a/admin1/usuarios/cadastro/exec.php +++ b/admin1/usuarios/cadastro/exec.php @@ -147,32 +147,11 @@ switch ($funcao) { $dbhw = null; $dbh = null; if ($papeis === false) { - $dbhw = null; - $dbh = null; header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); exit (); } - $o = array (); - foreach ( $usuarios as $usuario ) { - // pega os papeis registrados para cada operacao - $p = array (); - foreach ( $papeis as $papel ) { - if ($papel["id_usuario"] == $usuario["id_usuario"]) { - $p[$papel["id_papel"]] = $papel; - } - } - $usuario["papeis"] = $p; - $o[] = $usuario; - } - $papeis = pegaDados ( "SELECT * from " . $esquemaadmin . "i3geousr_papeis order by nome", $dbh ); - $dbhw = null; - $dbh = null; - if ($papeis === false) { - header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); - exit(); - } retornaJSON ( array ( - "usuarios" => $o, + "usuarios" => $usuarios, "papeis" => $papeis ) ); break; diff --git a/admin1/usuarios/cadastro/index.js b/admin1/usuarios/cadastro/index.js index f24c61d..34cc43b 100755 --- a/admin1/usuarios/cadastro/index.js +++ b/admin1/usuarios/cadastro/index.js @@ -53,7 +53,7 @@ Obtém a lista de usuarios var templatePapeis = $("#templateInputPapeis").html(); //template do form de cada operacao var templateLista = $("#templateLista").html(); - templateLista = templateLista.replace("{{{templateFormLista}}}",$("#templateFormLista").html()); + //templateLista = templateLista.replace("{{{templateFormLista}}}",$("#templateFormLista").html()); //lista todas as usuarios var html = Mustache.to_html( "{{#data}}" + templateLista + "{{/data}}", diff --git a/admin1/usuarios/grupos/exec.php b/admin1/usuarios/grupos/exec.php index 4b41e3d..a12b7b0 100755 --- a/admin1/usuarios/grupos/exec.php +++ b/admin1/usuarios/grupos/exec.php @@ -31,7 +31,9 @@ include_once (dirname ( __FILE__ ) . "/../../../admin/php/login.php"); $funcoesEdicao = array ( "ADICIONAR", "ALTERAR", - "EXCLUIR" + "EXCLUIR", + "LISTA", + "LISTAUNICO" ); if (in_array ( strtoupper ( $funcao ), $funcoesEdicao )) { if (verificaOperacaoSessao ( "admin/html/usuarios" ) === false) { @@ -89,35 +91,51 @@ switch ($funcao) { retornaJSON ( $dados ); exit (); break; + case "LISTAUNICO" : + $grupos = pegaDados ( "SELECT id_grupo,nome,descricao from ".$esquemaadmin."i3geousr_grupos order by nome", $dbh, false ); + $gruposusuarios = pegaDados ( "SELECT U.nome_usuario, U.id_usuario, UP.id_grupo FROM ".$esquemaadmin."i3geousr_grupousuario AS UP JOIN ".$esquemaadmin."i3geousr_usuarios AS U ON U.id_usuario = UP.id_usuario", dbh, false ); + if ($gruposusuarios === false || $grupos === false) { + $dbhw = null; + $dbh = null; + header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); + exit (); + } + $grupo = $grupos[0]; + $o = array (); + foreach ( $gruposusuarios as $gp ) { + $o[$gp["id_grupo"]] = $gp; + } + $grupo["usuarios"] = $o; + $usuarios = pegaDados ( "SELECT id_usuario, login, nome_usuario from " . $esquemaadmin . "i3geousr_usuarios WHERE ativo = 1 order by login", $dbh ); + $dbhw = null; + $dbh = null; + if ($usuarios === false) { + header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); + exit(); + } + retornaJSON ( array ( + "grupo" => $grupo, + "usuarios" => $usuarios + ) ); + break; case "LISTA" : - $grupos = pegaDados ( "SELECT id_grupo,nome,descricao from ".$esquemaadmin."i3geousr_grupos order by nome", $dbh, false ); - $usuarios = pegaDados ( "SELECT U.nome_usuario, U.id_usuario, U.login, UP.id_grupo FROM ".$esquemaadmin."i3geousr_usuarios AS U JOIN ".$esquemaadmin."i3geousr_grupousuario AS UP ON U.id_usuario = UP.id_usuario", dbh, false ); - if ($usuarios === false || $grupos === false) { + $grupos = pegaDados ( "SELECT id_grupo,nome from ".$esquemaadmin."i3geousr_grupos order by nome", $dbh, false ); + if ($grupos === false) { $dbhw = null; $dbh = null; header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); exit (); } - $o = array (); - foreach ( $grupos as $grupo ) { - $p = array (); - foreach ( $usuarios as $usuario ) { - if ($usuario["id_grupo"] == $grupo["id_grupo"]) { - $p[$usuario["id_usuario"]] = $usuario; - } - } - $grupo["usuarios"] = $p; - $o[] = $grupo; - } - $usuarios = pegaDados ( "SELECT id_usuario, login, nome_usuario from " . $esquemaadmin . "i3geousr_usuarios WHERE ativo = 1 order by login", $dbh ); + $usuarios = pegaDados ( "SELECT id_usuario, nome_usuario FROM ".$esquemaadmin."i3geousr_usuarios WHERE ativo = 1 ORDER BY nome_usuario", dbh, false ); $dbhw = null; $dbh = null; if ($usuarios === false) { header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); - exit(); + exit (); } + retornaJSON ( array ( - "grupos" => $o, + "grupos" => $grupos, "usuarios" => $usuarios ) ); break; @@ -196,9 +214,7 @@ function excluir($id_grupo, $dbhw) { if ($resultado === false) { return false; } - if ($resultado === true) { - $resultado = excluirUsuarios ( $id_grupo, $dbhw ); - } + $resultado = excluirUsuarios ( $id_grupo, $dbhw ); return $resultado; } function excluirUsuarios($id_grupo, $dbhw) { diff --git a/admin1/usuarios/grupos/index.js b/admin1/usuarios/grupos/index.js index 2091d73..a4302b5 100755 --- a/admin1/usuarios/grupos/index.js +++ b/admin1/usuarios/grupos/index.js @@ -27,6 +27,8 @@ i3GEOadmin.gruposusuarios = { ondeLista: "", //conteudo html do formulario de adicao de operacao formAdiciona: "", + //parametros obtidos do formulario de edicao antes de abrir o modal de confirmacao + parametrosSalvar: "", init: function(onde){ i3GEOadmin.gruposusuarios.ondeLista = onde; i3GEOadmin.gruposusuarios.lista(); @@ -51,7 +53,7 @@ Obtém a lista de grupos var templateUsuarios = $("#templateInputUsuarios").html(); //template do form de cada operacao var templateLista = $("#templateLista").html(); - templateLista = templateLista.replace("{{{templateFormLista}}}",$("#templateFormLista").html()); + //templateLista = templateLista.replace("{{{templateFormLista}}}",$("#templateFormLista").html()); //lista todas as usuarios var html = Mustache.to_html( "{{#data}}" + templateLista + "{{/data}}", @@ -61,7 +63,7 @@ Obtém a lista de grupos { "data": json["grupos"], "onExcluir": "i3GEOadmin.gruposusuarios.excluirDialogo",//funcao - "onSalvar": "i3GEOadmin.gruposusuarios.salvarDialogo",//funcao + "onEditar": "i3GEOadmin.gruposusuarios.editarDialogo",//funcao "excluir": i3GEOadmin.gruposusuarios.dicionario.excluir, "inputUsuarios": function(){ //marca os checkbox @@ -136,6 +138,59 @@ Obtém a lista de grupos i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); }); }, + editarDialogo: function(id){ + i3GEOadmin.core.fechaModalGeral(); + i3GEOadmin.core.modalAguarde(true); + $.post( + "exec.php?funcao=listaunico", + "id_grupo=" + id + ) + .done( + function(data, status){ + var json = jQuery.parseJSON(data); + var html = Mustache.to_html( + "{{#data}}" + $("#templateFormLista").html() + "{{/data}}", + $.extend( + {}, + i3GEOadmin.gruposusuarios.dicionario, + { + "data": json["grupo"], + "onExcluir": "i3GEOadmin.gruposusuarios.excluirDialogo",//funcao + "onEditar": "i3GEOadmin.gruposusuarios.salvarDialogo",//funcao + "excluir": i3GEOadmin.gruposusuarios.dicionario.excluir, + "inputUsuarios": function(){ + //marca os checkbox + var p = this.usuarios; + $(json["usuarios"]).each( + function(i,el){ + if(p && el.id_usuario && p[el.id_usuario]){ + json["usuarios"][i]["checked"] = "checked"; + } + else{ + json["usuarios"][i]["checked"] = ""; + } + } + ); + return Mustache.to_html( + "{{#data}}" + $("#templateInputUsuarios").html() + "{{/data}}", + { + "data":json["usuarios"] + } + ); + } + } + ) + ); + i3GEOadmin.core.abreModalGeral(html); + } + ) + .fail( + function(data){ + i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); + } + ); + }, adicionaDialogo: function(){ i3GEOadmin.core.abreModalGeral(i3GEOadmin.gruposusuarios.formAdiciona); }, @@ -193,17 +248,18 @@ Obtém a lista de grupos ); }, salvarDialogo: function(id){ + i3GEOadmin.gruposusuarios.parametrosSalvar = $("#form-edicao-" + id).serialize(); var hash = { "mensagem": i3GEOadmin.gruposusuarios.dicionario.confirma, "onBotao1": "i3GEOadmin.gruposusuarios.salvar('"+id+"')", "botao1": i3GEOadmin.gruposusuarios.dicionario.sim, - "onBotao2": "i3GEOadmin.core.fechaModalConfirma();", + "onBotao2": "i3GEOadmin.gruposusuarios.parametrosSalvar = '';i3GEOadmin.core.fechaModalConfirma();", "botao2": i3GEOadmin.gruposusuarios.dicionario.nao }; i3GEOadmin.core.abreModalConfirma(hash); }, salvar: function(id){ - var parametros = $("#form-" + id + " form").serialize(); + var parametros = i3GEOadmin.gruposusuarios.parametrosSalvar; i3GEOadmin.core.fechaModalGeral(); i3GEOadmin.core.modalAguarde(true); $.post( @@ -212,6 +268,7 @@ Obtém a lista de grupos ) .done( function(data, status){ + i3GEOadmin.gruposusuarios.parametrosSalvar = ""; i3GEOadmin.core.modalAguarde(false); i3GEOadmin.core.iconeAguarde(i3GEOadmin.gruposusuarios.ondeLista); i3GEOadmin.gruposusuarios.lista(); @@ -219,6 +276,7 @@ Obtém a lista de grupos ) .fail( function(data){ + i3GEOadmin.gruposusuarios.parametrosSalvar = ""; i3GEOadmin.core.modalAguarde(false); i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); } diff --git a/admin1/usuarios/grupos/index.php b/admin1/usuarios/grupos/index.php index 12df408..8dc4b2f 100755 --- a/admin1/usuarios/grupos/index.php +++ b/admin1/usuarios/grupos/index.php @@ -60,7 +60,7 @@ include "../../head.php"; -- libgit2 0.21.2