From c0c49f548f72cd948ce9ec049772b0faf7f64c6c Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Mon, 17 Oct 2016 20:24:12 -0200 Subject: [PATCH] Reorganização do layout do editor de atlas --- admin/admin.db | Bin 340992 -> 0 bytes admin/js/estat_editor.js | 2 +- admin/safe.php | 2 +- admin1/catalogo/atlas/exec.php | 18 ++++++++++++++++-- admin1/catalogo/atlas/index.js | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------ admin1/catalogo/atlas/index.php | 40 +++++++++++++++++++--------------------- admin1/catalogo/atlas/pranchas/exec.php | 18 ++++++++++++++++-- admin1/catalogo/atlas/pranchas/index.js | 46 ++++++++++++++++++++++++++++++++++++++++++---- admin1/catalogo/atlas/pranchas/index.php | 60 +++++++++++++++++++++++++++++++----------------------------- admin1/catalogo/atlas/pranchas/temas/exec.php | 22 ++++++++++++++++++++-- admin1/catalogo/atlas/pranchas/temas/index.js | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------- admin1/catalogo/atlas/pranchas/temas/index.php | 52 +++++++++++++++++++++++++++------------------------- admin1/dicionario/atlas.js | 2 +- admin1/dicionario/prancha.js | 2 +- 14 files changed, 297 insertions(+), 136 deletions(-) diff --git a/admin/admin.db b/admin/admin.db index ae2d475..2234b6b 100755 Binary files a/admin/admin.db and b/admin/admin.db differ diff --git a/admin/js/estat_editor.js b/admin/js/estat_editor.js index a63d14c..ff338c0 100755 --- a/admin/js/estat_editor.js +++ b/admin/js/estat_editor.js @@ -610,7 +610,7 @@ i3GEOadmin.editor = { '

 Marque para criar o arquivo de configuração (mapfile) e visualizar os dados no mapa interativo (você poderá editar esse arquivo posteriormente no editor de mapfiles)' + '

 Inclui uma coluna gid do tipo serial e chave primária com código único

' + '

' + - '' + + '' + '' + '' + "

Não utilize '_' no nome do arquivo. Apenas letras e números são aceitos!!!

" + diff --git a/admin/safe.php b/admin/safe.php index e4eacb8..f965daa 100755 --- a/admin/safe.php +++ b/admin/safe.php @@ -66,4 +66,4 @@ function testaSafeNumerico($valores){ } } } -?> \ No newline at end of file +?> diff --git a/admin1/catalogo/atlas/exec.php b/admin1/catalogo/atlas/exec.php index e3e1b82..5dc8398 100755 --- a/admin1/catalogo/atlas/exec.php +++ b/admin1/catalogo/atlas/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/atlas" ) === false) { @@ -74,8 +76,20 @@ switch ($funcao) { retornaJSON ( $dados ); exit (); break; + case "LISTAUNICO" : + $dados = pegaDados("SELECT id_atlas, titulo_atlas, publicado_atlas, ordem_atlas, basemapfile_atlas, desc_atlas, h_atlas, w_atlas, icone_atlas, link_atlas, pranchadefault_atlas, template_atlas, tipoguias_atlas from ".$esquemaadmin."i3geoadmin_atlas WHERE id_atlas = $id_atlas", $dbh, false); + if ($dados === false) { + $dbhw = null; + $dbh = null; + header ( "HTTP/1.1 500 erro ao consultar banco de dados tabela de atlas" ); + exit (); + } + $dbhw = null; + $dbh = null; + retornaJSON ( array("dados"=>$dados[0]) ); + break; case "LISTA" : - $dados = pegaDados("SELECT id_atlas, titulo_atlas, publicado_atlas, ordem_atlas, basemapfile_atlas, desc_atlas, h_atlas, w_atlas, icone_atlas, link_atlas, pranchadefault_atlas, template_atlas, tipoguias_atlas from ".$esquemaadmin."i3geoadmin_atlas ORDER BY lower(titulo_atlas), ordem_atlas", $dbh, false); + $dados = pegaDados("SELECT id_atlas, titulo_atlas, ordem_atlas from ".$esquemaadmin."i3geoadmin_atlas ORDER BY lower(titulo_atlas), ordem_atlas", $dbh, false); if ($dados === false) { $dbhw = null; $dbh = null; diff --git a/admin1/catalogo/atlas/index.js b/admin1/catalogo/atlas/index.js index 430c0fa..8261255 100755 --- a/admin1/catalogo/atlas/index.js +++ b/admin1/catalogo/atlas/index.js @@ -27,6 +27,8 @@ i3GEOadmin.atlas = { 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.atlas.ondeLista = onde; i3GEOadmin.atlas.lista(); @@ -59,28 +61,7 @@ Obtém a lista { "data": json["dados"], "onExcluir": "i3GEOadmin.atlas.excluirDialogo",//funcao - "onSalvar": "i3GEOadmin.atlas.salvarDialogo",//funcao - "opcoesPublicado": function(){ - var hash = {}; - hash["sim"] = i3GEOadmin.atlas.dicionario.sim; - hash["nao"] = i3GEOadmin.atlas.dicionario.nao; - if(this.publicado_atlas == ""){ - this.publicado_atlas = "SIM"; - } - hash[this.publicado_atlas + "-sel"] = "selected"; - return Mustache.to_html( - $("#templateOpcoesPublicado").html(), - hash - ); - }, - "opcoesTipoGuia": function(){ - var hash = {}; - hash[this.tipoguias_atlas + "-sel"] = "selected"; - return Mustache.to_html( - $("#templateOpcoesTipoGuia").html(), - hash - ); - } + "onEditar": "i3GEOadmin.atlas.editarDialogo" } ) ); @@ -135,6 +116,60 @@ Obtém a lista i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); }); }, + editarDialogo: function(id){ + i3GEOadmin.core.fechaModalGeral(); + i3GEOadmin.core.modalAguarde(true); + $.post( + "exec.php?funcao=listaunico", + "id_atlas=" + id + ) + .done( + function(data, status){ + var json = jQuery.parseJSON(data); + var templateLista = $("#templateFormLista").html(); + var html = Mustache.to_html( + "{{#data}}" + templateLista + "{{/data}}", + $.extend( + {}, + i3GEOadmin.atlas.dicionario, + { + "data": json["dados"], + "onExcluir": "i3GEOadmin.atlas.excluirDialogo",//funcao + "onSalvar": "i3GEOadmin.atlas.salvarDialogo",//funcao + "opcoesPublicado": function(){ + var hash = {}; + hash["sim"] = i3GEOadmin.atlas.dicionario.sim; + hash["nao"] = i3GEOadmin.atlas.dicionario.nao; + if(this.publicado_atlas == ""){ + this.publicado_atlas = "SIM"; + } + hash[this.publicado_atlas + "-sel"] = "selected"; + return Mustache.to_html( + $("#templateOpcoesPublicado").html(), + hash + ); + }, + "opcoesTipoGuia": function(){ + var hash = {}; + hash[this.tipoguias_atlas + "-sel"] = "selected"; + return Mustache.to_html( + $("#templateOpcoesTipoGuia").html(), + hash + ); + } + } + ) + ); + i3GEOadmin.core.abreModalGeral(html); + } + ) + .fail( + function(data){ + i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); + } + ); + }, adicionaDialogo: function(){ i3GEOadmin.core.abreModalGeral(i3GEOadmin.atlas.formAdiciona); }, @@ -192,17 +227,18 @@ Obtém a lista ); }, salvarDialogo: function(id){ + i3GEOadmin.atlas.parametrosSalvar = $("#form-edicao-" + id).serialize(); var hash = { "mensagem": i3GEOadmin.atlas.dicionario.confirma, "onBotao1": "i3GEOadmin.atlas.salvar('"+id+"')", "botao1": i3GEOadmin.atlas.dicionario.sim, - "onBotao2": "i3GEOadmin.core.fechaModalConfirma();", + "onBotao2": "i3GEOadmin.atlas.parametrosSalvar = '';i3GEOadmin.core.fechaModalConfirma();", "botao2": i3GEOadmin.atlas.dicionario.nao }; i3GEOadmin.core.abreModalConfirma(hash); }, salvar: function(id){ - var parametros = $("#form-" + id + " form").serialize(); + var parametros = i3GEOadmin.atlas.parametrosSalvar; i3GEOadmin.core.fechaModalGeral(); i3GEOadmin.core.modalAguarde(true); $.post( @@ -212,6 +248,7 @@ Obtém a lista .done( function(data, status){ i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.atlas.parametrosSalvar = ''; i3GEOadmin.core.iconeAguarde(i3GEOadmin.atlas.ondeLista); i3GEOadmin.atlas.lista(); } @@ -219,6 +256,7 @@ Obtém a lista .fail( function(data){ i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.atlas.parametrosSalvar = ''; i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); } ); diff --git a/admin1/catalogo/atlas/index.php b/admin1/catalogo/atlas/index.php index 23460e5..926a1df 100755 --- a/admin1/catalogo/atlas/index.php +++ b/admin1/catalogo/atlas/index.php @@ -26,7 +26,6 @@ include "../../head.php";
{{{txtDesc}}}
-
@@ -57,7 +56,7 @@ include "../../head.php"; diff --git a/admin1/catalogo/atlas/pranchas/temas/exec.php b/admin1/catalogo/atlas/pranchas/temas/exec.php index 8b7108b..02e829e 100755 --- a/admin1/catalogo/atlas/pranchas/temas/exec.php +++ b/admin1/catalogo/atlas/pranchas/temas/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/atlas" ) === false) { @@ -74,8 +76,24 @@ switch ($funcao) { retornaJSON ( $dados ); exit (); break; + case "LISTAUNICO" : + $dados = pegaDados("SELECT id_tema, ordem_tema, codigo_tema, ligado_tema from ".$esquemaadmin."i3geoadmin_atlast WHERE id_tema = '$id_tema'", $dbh, false); + if ($dados === false) { + $dbhw = null; + $dbh = null; + header ( "HTTP/1.1 500 erro ao consultar banco de dados tabela de temas de uma prancha" ); + exit (); + } + $dbhw = null; + $dbh = null; + //pega a lista de temas + include("../../../../../admin/php/classe_arvore.php"); + $arvore = new Arvore($locaplic); + $temas = $arvore->pegaTodosTemas(true); + retornaJSON ( array("dados"=>$dados[0], "temas"=>$temas) ); + break; case "LISTA" : - $dados = pegaDados("SELECT id_tema, ordem_tema, codigo_tema, ligado_tema from ".$esquemaadmin."i3geoadmin_atlast WHERE id_prancha = '$id_prancha'", $dbh, false); + $dados = pegaDados("SELECT id_tema, codigo_tema from ".$esquemaadmin."i3geoadmin_atlast WHERE id_prancha = '$id_prancha' ORDER BY ordem_tema", $dbh, false); if ($dados === false) { $dbhw = null; $dbh = null; diff --git a/admin1/catalogo/atlas/pranchas/temas/index.js b/admin1/catalogo/atlas/pranchas/temas/index.js index c5dfae1..92d8e0a 100755 --- a/admin1/catalogo/atlas/pranchas/temas/index.js +++ b/admin1/catalogo/atlas/pranchas/temas/index.js @@ -28,6 +28,8 @@ i3GEOadmin.tema = { 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.tema.ondeLista = onde; i3GEOadmin.tema.lista(); @@ -51,7 +53,6 @@ Obtém a lista var json = jQuery.parseJSON(data); //template do form de cada operacao var templateLista = $("#templateLista").html(); - templateLista = templateLista.replace("{{{templateFormLista}}}",$("#templateFormLista").html()); var opcoesTema = '' + Mustache.to_html( "{{#data}}" + $("#templateTemas").html() + "{{/data}}", {"data":json["temas"]} @@ -65,18 +66,7 @@ Obtém a lista { "data": json["dados"], "onExcluir": "i3GEOadmin.tema.excluirDialogo",//funcao - "onSalvar": "i3GEOadmin.tema.salvarDialogo",//funcao - "opcoesLigado": function(){ - var hash = {}; - hash["sim"] = i3GEOadmin.prancha.dicionario.sim; - hash["nao"] = i3GEOadmin.prancha.dicionario.nao; - hash[this.ligado_tema + "-sel"] = "selected"; - return Mustache.to_html( - $("#templateOpcoesLigado").html(), - hash - ); - }, - "opcoesTema": opcoesTema, + "onEditar": "i3GEOadmin.tema.editarDialogo",//funcao "esconde": "hidden" } ) @@ -95,7 +85,7 @@ Obtém a lista i3GEOadmin.core.defineFiltro(filtro); i3GEOadmin.core.filtra(i3GEOadmin.core.pegaFiltro()); } - //monta um template para o modal de inclusao de novo usuario + //monta um template para o modal de inclusao de novo tema if(i3GEOadmin.tema.formAdiciona == ""){ html = Mustache.to_html( $("#templateFormLista").html(), @@ -132,6 +122,57 @@ Obtém a lista i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); }); }, + editarDialogo: function(id,codigo_tema){ + i3GEOadmin.core.fechaModalGeral(); + i3GEOadmin.core.modalAguarde(true); + $.post( + "exec.php?funcao=listaunico", + "id_tema=" + id + ) + .done( + function(data, status){ + var json = jQuery.parseJSON(data); + var templateLista = $("#templateFormLista").html(); + var opcoesTema = '' + Mustache.to_html( + "{{#data}}" + $("#templateTemas").html() + "{{/data}}", + {"data":json["temas"]} + ); + //lista + var html = Mustache.to_html( + "{{#data}}" + templateLista + "{{/data}}", + $.extend( + {}, + i3GEOadmin.prancha.dicionario, + { + "data": json["dados"], + "onExcluir": "i3GEOadmin.tema.excluirDialogo",//funcao + "onSalvar": "i3GEOadmin.tema.salvarDialogo",//funcao + "opcoesLigado": function(){ + var hash = {}; + hash["sim"] = i3GEOadmin.prancha.dicionario.sim; + hash["nao"] = i3GEOadmin.prancha.dicionario.nao; + hash[this.ligado_tema + "-sel"] = "selected"; + return Mustache.to_html( + $("#templateOpcoesLigado").html(), + hash + ); + }, + "opcoesTema": opcoesTema, + "esconde": "hidden" + } + ) + ); + i3GEOadmin.core.abreModalGeral(html); + $("#form-edicao-" + id + " [name='codigo_tema']").val(codigo_tema); + } + ) + .fail( + function(data){ + i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); + } + ); + }, adicionaDialogo: function(){ i3GEOadmin.core.abreModalGeral(i3GEOadmin.tema.formAdiciona); }, @@ -189,17 +230,18 @@ Obtém a lista ); }, salvarDialogo: function(id,codigo){ + i3GEOadmin.tema.parametrosSalvar = $("#form-edicao-" + id).serialize(); var hash = { "mensagem": i3GEOadmin.prancha.dicionario.confirma, "onBotao1": "i3GEOadmin.tema.salvar('"+id+"','"+codigo+"')", "botao1": i3GEOadmin.prancha.dicionario.sim, - "onBotao2": "i3GEOadmin.core.fechaModalConfirma();", + "onBotao2": "i3GEOadmin.tema.parametrosSalvar = '';i3GEOadmin.core.fechaModalConfirma();", "botao2": i3GEOadmin.prancha.dicionario.nao }; i3GEOadmin.core.abreModalConfirma(hash); }, salvar: function(id,codigo){ - var parametros = $("#form-" + id + " form").serialize(); + var parametros = i3GEOadmin.prancha.parametrosSalvar; i3GEOadmin.core.fechaModalGeral(); i3GEOadmin.core.modalAguarde(true); $.post( @@ -208,6 +250,7 @@ Obtém a lista ) .done( function(data, status){ + i3GEOadmin.tema.parametrosSalvar = ''; i3GEOadmin.core.modalAguarde(false); i3GEOadmin.core.iconeAguarde(i3GEOadmin.tema.ondeLista); i3GEOadmin.tema.lista(); @@ -215,18 +258,12 @@ Obtém a lista ) .fail( function(data){ + i3GEOadmin.tema.parametrosSalvar = ''; i3GEOadmin.core.modalAguarde(false); i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); } ); }, - editarTemas: function(id_prancha, id_tema,titulo_tema){ - //muda a url para que o usuario possa voltar pelo botao do navegador - var u = window.location.origin + window.location.pathname + "?id_prancha=" + id_prancha + "&id_filtro=" + id_tema; - window.history.replaceState(null,null,u); - //abre a pagina de edicao - window.location.href = "temas/index.php?id_tema=" + id_tema + "&titulo_tema=" + titulo_tema; - }, addInput: function(id,valor){ var i = $("#"+id); $(i.val(i.val() + ' ' + valor)); diff --git a/admin1/catalogo/atlas/pranchas/temas/index.php b/admin1/catalogo/atlas/pranchas/temas/index.php index a30c38e..c9ddd2e 100755 --- a/admin1/catalogo/atlas/pranchas/temas/index.php +++ b/admin1/catalogo/atlas/pranchas/temas/index.php @@ -7,27 +7,27 @@ $id_prancha = filter_var($_GET["id_prancha"], FILTER_SANITIZE_NUMBER_INT); $titulo_prancha = filter_var($_GET["titulo_prancha"], FILTER_SANITIZE_STRING); $id_atlas = filter_var($_GET["id_atlas"], FILTER_SANITIZE_NUMBER_INT); ?> -
+
- +