From 6b78fd2b4960537d5ae5f91d360d4ad78436fd51 Mon Sep 17 00:00:00 2001 From: edmarmoretti Date: Wed, 12 Oct 2016 10:05:28 -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 | 56 +++++++++++++++++++++++++++++++++++++++++++++----------- admin1/usuarios/cadastro/index.js | 125 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------- admin1/usuarios/cadastro/index.php | 30 +++++++++++++++--------------- admin1/usuarios/operacoes/exec.php | 1 - admin1/usuarios/operacoes/index.js | 3 ++- admin1/usuarios/operacoes/index.php | 3 +-- 7 files changed, 145 insertions(+), 73 deletions(-) diff --git a/admin/admin.db b/admin/admin.db index 93d6163..c80cebf 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 c12aa6f..cf1e0b3 100755 --- a/admin1/usuarios/cadastro/exec.php +++ b/admin1/usuarios/cadastro/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) { @@ -88,7 +90,7 @@ switch ($funcao) { header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); exit (); } - $sql = "SELECT * from " . $esquemaadmin . "i3geousr_usuarios WHERE id_usuario = " . $novo; + $sql = "SELECT id_usuario,ativo,data_cadastro,email,login,nome_usuario from " . $esquemaadmin . "i3geousr_usuarios WHERE id_usuario = " . $novo; $dados = pegaDados ( $sql, $dbh ); if ($dados === false) { header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); @@ -104,10 +106,47 @@ switch ($funcao) { retornaJSON ( $dados ); exit (); break; + case "LISTAUNICO" : + $usuarios = pegaDados ( "SELECT id_usuario,ativo,data_cadastro,email,login,nome_usuario from " . $esquemaadmin . "i3geousr_usuarios WHERE id_usuario = $id_usuario order by nome_usuario", $dbh, false ); + $papeisusuario = pegaDados ( "SELECT P.id_papel, P.nome, P.descricao, UP.id_usuario FROM " . $esquemaadmin . "i3geousr_papelusuario AS UP JOIN " . $esquemaadmin . "i3geousr_papeis AS P ON UP.id_papel = P.id_papel WHERE UP.id_usuario = $id_usuario ", dbh, false ); + if ($usuarios === false || $papeis === false) { + $dbhw = null; + $dbh = null; + header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); + exit (); + } + $usuario = $usuarios[0]; + //cria o indice do array conforme o id da operacao + $o = array(); + foreach($papeisusuario as $op){ + $o[$op["id_papel"]] = $op; + } + $usuario["papeis"] = $o; + //todos os papeis + $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 ( + "usuario" => $usuario, + "papeis" => $papeis + ) ); + break; case "LISTA" : - $usuarios = pegaDados ( "SELECT id_usuario,ativo,data_cadastro,email,login,nome_usuario from " . $esquemaadmin . "i3geousr_usuarios order by nome_usuario", $dbh, false ); - $papeis = pegaDados ( "SELECT P.id_papel, P.nome, P.descricao, UP.id_usuario FROM " . $esquemaadmin . "i3geousr_usuarios AS U JOIN " . $esquemaadmin . "i3geousr_papelusuario AS UP ON U.id_usuario = UP.id_usuario JOIN " . $esquemaadmin . "i3geousr_papeis AS P ON UP.id_papel = P.id_papel ", dbh, false ); - if ($usuarios === false || $papeis === false) { + $usuarios = pegaDados ( "SELECT id_usuario,nome_usuario from " . $esquemaadmin . "i3geousr_usuarios order by nome_usuario", $dbh, false ); + if ($usuarios === false) { + $dbhw = null; + $dbh = null; + header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); + exit (); + } + $papeis = pegaDados("SELECT * from ".$esquemaadmin."i3geousr_papeis order by nome",$dbh); + $dbhw = null; + $dbh = null; + if ($papeis === false) { $dbhw = null; $dbh = null; header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); @@ -239,12 +278,7 @@ function adicionaPapel($id_usuario, $id_papel, $dbhw) { function excluir($id_usuario, $dbhw) { global $esquemaadmin; $resultado = i3GeoAdminExclui ( $esquemaadmin . "i3geousr_usuarios", "id_usuario", $id_usuario, $dbhw, false ); - if ($resultado === false) { - return false; - } - if ($resultado === true) { - $resultado = excluirPapeis ( $id_usuario, $dbhw ); - } + $resultado = excluirPapeis ( $id_usuario, $dbhw ); return $resultado; } function excluirPapeis($id_usuario, $dbhw) { diff --git a/admin1/usuarios/cadastro/index.js b/admin1/usuarios/cadastro/index.js index b8e1743..f24c61d 100755 --- a/admin1/usuarios/cadastro/index.js +++ b/admin1/usuarios/cadastro/index.js @@ -27,6 +27,8 @@ i3GEOadmin.usuarios = { 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.usuarios.ondeLista = onde; i3GEOadmin.usuarios.lista(); @@ -61,46 +63,7 @@ Obtém a lista de usuarios { "data": json["usuarios"], "onExcluir": "i3GEOadmin.usuarios.excluirDialogo",//funcao - "onSalvar": "i3GEOadmin.usuarios.salvarDialogo",//funcao - "labelDataCadastro": i3GEOadmin.usuarios.dicionario.dataCadastro, - "labelAtivo": i3GEOadmin.usuarios.dicionario.ativo, - "labelNovaSenha": i3GEOadmin.usuarios.dicionario.novaSenha, - "selAtivoSim": function(){ - var p = this.ativo; - if(p == "0"){ - return ""; - } else { - return "selected"; - } - }, - "selAtivoNao": function(){ - var p = this.ativo; - if(p == "0"){ - return "selected"; - } else { - return ""; - } - }, - "inputPapeis": function(){ - //marca os checkbox - var p = this.papeis; - $(json["papeis"]).each( - function(i,el){ - if(p && el.id_papel && (p[el.id_papel] || el.id_papel == 1)){ - json["papeis"][i]["checked"] = "checked"; - } - else{ - json["papeis"][i]["checked"] = ""; - } - } - ); - return Mustache.to_html( - "{{#data}}" + templatePapeis + "{{/data}}", - { - "data":json["papeis"] - } - ); - } + "onEditar": "i3GEOadmin.usuarios.editarDialogo"//funcao } ) ); @@ -113,7 +76,6 @@ Obtém a lista de usuarios $("#filtro").html("" + html); $("#filtro").combobox(); $(".ui-autocomplete-input").attr( "title", "Filtro" ); - if(filtro != ""){ i3GEOadmin.core.defineFiltro(filtro); i3GEOadmin.core.filtra(i3GEOadmin.usuarios.pegaFiltro()); @@ -128,6 +90,7 @@ Obtém a lista de usuarios { "id_usuario": "modal", "escondido": "hidden", + "login": "", "excluir": i3GEOadmin.usuarios.dicionario.cancelar, "onExcluir": "i3GEOadmin.core.fechaModalGeral",//funcao "onSalvar": "i3GEOadmin.usuarios.adiciona",//funcao @@ -155,6 +118,78 @@ Obtém a lista de usuarios i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); }); }, + editarDialogo: function(id){ + i3GEOadmin.core.fechaModalGeral(); + i3GEOadmin.core.modalAguarde(true); + $.post( + "exec.php?funcao=listaunico", + "id_usuario=" + id + ) + .done( + function(data, status){ + var json = jQuery.parseJSON(data); + var html = Mustache.to_html( + "{{#data}}" + $("#templateFormLista").html() + "{{/data}}", + $.extend( + {}, + i3GEOadmin.usuarios.dicionario, + { + "data": json["usuario"], + "login": "", + "onExcluir": "i3GEOadmin.usuarios.excluirDialogo",//funcao + "onSalvar": "i3GEOadmin.usuarios.salvarDialogo",//funcao + "labelDataCadastro": i3GEOadmin.usuarios.dicionario.dataCadastro, + "labelAtivo": i3GEOadmin.usuarios.dicionario.ativo, + "labelNovaSenha": i3GEOadmin.usuarios.dicionario.novaSenha, + "selAtivoSim": function(){ + var p = this.ativo; + if(p == "0"){ + return ""; + } else { + return "selected"; + } + }, + "selAtivoNao": function(){ + var p = this.ativo; + if(p == "0"){ + return "selected"; + } else { + return ""; + } + }, + "inputPapeis": function(){ + //marca os checkbox + var p = this.papeis; + $(json["papeis"]).each( + function(i,el){ + if(p && el.id_papel && (p[el.id_papel] || el.id_papel == 1)){ + json["papeis"][i]["checked"] = "checked"; + } + else{ + json["papeis"][i]["checked"] = ""; + } + } + ); + return Mustache.to_html( + "{{#data}}" + $("#templateInputPapeis").html() + "{{/data}}", + { + "data":json["papeis"] + } + ); + } + } + ) + ); + i3GEOadmin.core.abreModalGeral(html); + } + ) + .fail( + function(data){ + i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); + } + ); + }, adicionaDialogo: function(){ i3GEOadmin.core.abreModalGeral(i3GEOadmin.usuarios.formAdiciona); }, @@ -212,17 +247,19 @@ Obtém a lista de usuarios ); }, salvarDialogo: function(id){ + //os dados do formulario sao obtidos antes de abrir o modal + i3GEOadmin.usuarios.parametrosSalvar = $("#form-edicao-" + id).serialize(); var hash = { "mensagem": i3GEOadmin.usuarios.dicionario.confirma, "onBotao1": "i3GEOadmin.usuarios.salvar('"+id+"')", "botao1": i3GEOadmin.usuarios.dicionario.sim, - "onBotao2": "i3GEOadmin.core.fechaModalConfirma();", + "onBotao2": "i3GEOadmin.usuarios.parametrosSalvar = '';i3GEOadmin.core.fechaModalConfirma();", "botao2": i3GEOadmin.usuarios.dicionario.nao }; i3GEOadmin.core.abreModalConfirma(hash); }, salvar: function(id){ - var parametros = $("#form-" + id + " form").serialize(); + var parametros = i3GEOadmin.usuarios.parametrosSalvar; i3GEOadmin.core.fechaModalGeral(); i3GEOadmin.core.modalAguarde(true); $.post( @@ -231,6 +268,7 @@ Obtém a lista de usuarios ) .done( function(data, status){ + i3GEOadmin.usuarios.parametrosSalvar = ""; i3GEOadmin.core.modalAguarde(false); i3GEOadmin.core.iconeAguarde(i3GEOadmin.usuarios.ondeLista); i3GEOadmin.usuarios.lista(); @@ -238,6 +276,7 @@ Obtém a lista de usuarios ) .fail( function(data){ + i3GEOadmin.usuarios.parametrosSalvar = ""; i3GEOadmin.core.modalAguarde(false); i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); } diff --git a/admin1/usuarios/cadastro/index.php b/admin1/usuarios/cadastro/index.php index 38279b1..c12dc41 100755 --- a/admin1/usuarios/cadastro/index.php +++ b/admin1/usuarios/cadastro/index.php @@ -57,7 +57,7 @@ include "../../head.php";