diff --git a/admin/admin.db b/admin/admin.db index d264303..d8e67da 100755 Binary files a/admin/admin.db and b/admin/admin.db differ diff --git a/admin1/cadastros/perfis/exec.php b/admin1/cadastros/perfis/exec.php index 66d1676..fa45c2e 100755 --- a/admin1/cadastros/perfis/exec.php +++ b/admin1/cadastros/perfis/exec.php @@ -28,7 +28,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/arvore" ) === false) { @@ -70,6 +72,18 @@ switch ($funcao) { retornaJSON ( $dados ); exit (); break; + case "LISTAUNICO" : + $dados = pegaDados ( "SELECT id_perfil, perfil from ".$esquemaadmin."i3geoadmin_perfis WHERE id_perfil = $id_perfil", $dbh, false ); + if ($dados === false) { + $dbhw = null; + $dbh = null; + header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); + exit (); + } + $dbhw = null; + $dbh = null; + retornaJSON ( $dados[0] ); + break; case "LISTA" : $dados = pegaDados ( "SELECT id_perfil, perfil from ".$esquemaadmin."i3geoadmin_perfis order by lower(perfil)", $dbh, false ); if ($dados === false) { diff --git a/admin1/cadastros/perfis/index.js b/admin1/cadastros/perfis/index.js index 19c3108..947b4d1 100755 --- a/admin1/cadastros/perfis/index.js +++ b/admin1/cadastros/perfis/index.js @@ -27,6 +27,8 @@ i3GEOadmin.perfis = { 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.perfis.ondeLista = onde; i3GEOadmin.perfis.lista(); @@ -59,7 +61,7 @@ Obtém a lista de perfis { "data": json, "onExcluir": "i3GEOadmin.perfis.excluirDialogo",//funcao - "onSalvar": "i3GEOadmin.perfis.salvarDialogo"//funcao + "onEditar": "i3GEOadmin.perfis.editarDialogo"//funcao } ) ); @@ -102,6 +104,38 @@ Obtém a lista de perfis i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); }); }, + editarDialogo: function(id){ + i3GEOadmin.core.fechaModalGeral(); + i3GEOadmin.core.modalAguarde(true); + $.post( + "exec.php?funcao=listaunico", + "id_perfil=" + id + ) + .done( + function(data, status){ + var json = jQuery.parseJSON(data); + var html = Mustache.to_html( + "{{#data}}" + $("#templateFormLista").html() + "{{/data}}", + $.extend( + {}, + i3GEOadmin.perfis.dicionario, + { + "data": json, + "onExcluir": "i3GEOadmin.perfis.excluirDialogo",//funcao + "onSalvar": "i3GEOadmin.perfis.salvarDialogo"//funcao + } + ) + ); + i3GEOadmin.core.abreModalGeral(html); + } + ) + .fail( + function(data){ + i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); + } + ); + }, adicionaDialogo: function(){ i3GEOadmin.core.abreModalGeral(i3GEOadmin.perfis.formAdiciona); }, @@ -159,17 +193,18 @@ Obtém a lista de perfis ); }, salvarDialogo: function(id){ + i3GEOadmin.perfis.parametrosSalvar = $("#form-edicao-" + id).serialize(); var hash = { "mensagem": i3GEOadmin.perfis.dicionario.confirma, "onBotao1": "i3GEOadmin.perfis.salvar('"+id+"')", "botao1": i3GEOadmin.perfis.dicionario.sim, - "onBotao2": "i3GEOadmin.core.fechaModalConfirma();", + "onBotao2": "i3GEOadmin.perfis.parametrosSalvar = '';i3GEOadmin.core.fechaModalConfirma();", "botao2": i3GEOadmin.perfis.dicionario.nao }; i3GEOadmin.core.abreModalConfirma(hash); }, salvar: function(id){ - var parametros = $("#form-" + id + " form").serialize(); + var parametros = i3GEOadmin.perfis.parametrosSalvar; i3GEOadmin.core.fechaModalGeral(); i3GEOadmin.core.modalAguarde(true); $.post( @@ -178,6 +213,7 @@ Obtém a lista de perfis ) .done( function(data, status){ + i3GEOadmin.perfis.parametrosSalvar = ''; i3GEOadmin.core.modalAguarde(false); i3GEOadmin.core.iconeAguarde(i3GEOadmin.perfis.ondeLista); i3GEOadmin.perfis.lista(); @@ -185,6 +221,7 @@ Obtém a lista de perfis ) .fail( function(data){ + i3GEOadmin.perfis.parametrosSalvar = ''; i3GEOadmin.core.modalAguarde(false); i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); } diff --git a/admin1/cadastros/perfis/index.php b/admin1/cadastros/perfis/index.php index 197f8d0..561a24c 100755 --- a/admin1/cadastros/perfis/index.php +++ b/admin1/cadastros/perfis/index.php @@ -17,8 +17,8 @@ include "../../head.php";