From 85cc3d2d12c27b83779b5e5a697dc3fa4b04a1dc Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Tue, 18 Oct 2016 00:07:03 -0200 Subject: [PATCH] Reorganização do layout do editor de menus --- admin/admin.db | Bin 340992 -> 0 bytes admin1/catalogo/menus/exec.php | 19 +++++++++++++++++-- admin1/catalogo/menus/index.js | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------- admin1/catalogo/menus/index.php | 39 +++++++++++++++++++-------------------- admin1/dicionario/menus.js | 4 ++-- 5 files changed, 106 insertions(+), 49 deletions(-) diff --git a/admin/admin.db b/admin/admin.db index 2234b6b..c20500e 100755 Binary files a/admin/admin.db and b/admin/admin.db differ diff --git a/admin1/catalogo/menus/exec.php b/admin1/catalogo/menus/exec.php index d70a687..fe4db18 100755 --- a/admin1/catalogo/menus/exec.php +++ b/admin1/catalogo/menus/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/arvore" ) === false) { @@ -74,8 +76,21 @@ switch ($funcao) { retornaJSON ( $dados ); exit (); break; + case "LISTAUNICO" : + $dados = pegaDados ( "SELECT id_menu, publicado_menu, perfil_menu, aberto, desc_menu, nome_menu, es, en from ".$esquemaadmin."i3geoadmin_menus WHERE id_menu = $id_menu ", $dbh, false ); + if ($dados === false) { + $dbhw = null; + $dbh = null; + header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); + exit (); + } + $perfis = pegaDados ( "SELECT id_perfil, perfil from ".$esquemaadmin."i3geoadmin_perfis order by perfil", $dbh, false ); + $dbhw = null; + $dbh = null; + retornaJSON ( array("dados"=>$dados[0], "perfis"=>$perfis) ); + break; case "LISTA" : - $dados = pegaDados ( "SELECT id_menu, publicado_menu, perfil_menu, aberto, desc_menu, nome_menu, es, en from ".$esquemaadmin."i3geoadmin_menus order by lower(nome_menu)", $dbh, false ); + $dados = pegaDados ( "SELECT id_menu, nome_menu from ".$esquemaadmin."i3geoadmin_menus order by lower(nome_menu)", $dbh, false ); if ($dados === false) { $dbhw = null; $dbh = null; diff --git a/admin1/catalogo/menus/index.js b/admin1/catalogo/menus/index.js index f4c128f..7753813 100755 --- a/admin1/catalogo/menus/index.js +++ b/admin1/catalogo/menus/index.js @@ -27,6 +27,8 @@ i3GEOadmin.menus = { 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.menus.ondeLista = onde; i3GEOadmin.menus.lista(); @@ -49,7 +51,6 @@ Obtém a lista de menus var json = jQuery.parseJSON(data); //template do form de cada operacao var templateLista = $("#templateLista").html(); - templateLista = templateLista.replace("{{{templateFormLista}}}",$("#templateFormLista").html()); //combo com perfis var opcoesPerfil = '' + Mustache.to_html( "{{#data}}" + $("#templateOpcoesPerfil").html() + "{{/data}}", @@ -64,28 +65,7 @@ Obtém a lista de menus { "data": json["dados"], "onExcluir": "i3GEOadmin.menus.excluirDialogo",//funcao - "onSalvar": "i3GEOadmin.menus.salvarDialogo",//funcao - "opcoesAberto": function(){ - var hash = {}; - hash[this.aberto + "-sel"] = "selected"; - hash["sim"] = i3GEOadmin.menus.dicionario.sim; - hash["nao"] = i3GEOadmin.menus.dicionario.nao; - return Mustache.to_html( - $("#templateOpcoesAberto").html(), - hash - ); - }, - "opcoesPublicado": function(){ - var hash = {}; - hash[this.publicado_menu + "-sel"] = "selected"; - hash["sim"] = i3GEOadmin.menus.dicionario.sim; - hash["nao"] = i3GEOadmin.menus.dicionario.nao; - return Mustache.to_html( - $("#templateOpcoesPublicado").html(), - hash - ); - }, - "opcoesPerfil": opcoesPerfil + "onEditar": "i3GEOadmin.menus.editarDialogo" } ) ); @@ -148,6 +128,66 @@ Obtém a lista de menus i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); }); }, + editarDialogo: function(id){ + i3GEOadmin.core.fechaModalGeral(); + i3GEOadmin.core.modalAguarde(true); + $.post( + "exec.php?funcao=listaunico", + "id_menu=" + id + ) + .done( + function(data, status){ + var json = jQuery.parseJSON(data); + var templateLista = $("#templateFormLista").html(); + //combo com perfis + var opcoesPerfil = '' + Mustache.to_html( + "{{#data}}" + $("#templateOpcoesPerfil").html() + "{{/data}}", + {"data":json["perfis"]} + ); + //lista todas as menus + var html = Mustache.to_html( + "{{#data}}" + templateLista + "{{/data}}", + $.extend( + {}, + i3GEOadmin.menus.dicionario, + { + "data": json["dados"], + "onExcluir": "i3GEOadmin.menus.excluirDialogo",//funcao + "onSalvar": "i3GEOadmin.menus.salvarDialogo",//funcao + "opcoesAberto": function(){ + var hash = {}; + hash[this.aberto + "-sel"] = "selected"; + hash["sim"] = i3GEOadmin.menus.dicionario.sim; + hash["nao"] = i3GEOadmin.menus.dicionario.nao; + return Mustache.to_html( + $("#templateOpcoesAberto").html(), + hash + ); + }, + "opcoesPublicado": function(){ + var hash = {}; + hash[this.publicado_menu + "-sel"] = "selected"; + hash["sim"] = i3GEOadmin.menus.dicionario.sim; + hash["nao"] = i3GEOadmin.menus.dicionario.nao; + return Mustache.to_html( + $("#templateOpcoesPublicado").html(), + hash + ); + }, + "opcoesPerfil": opcoesPerfil + } + ) + ); + i3GEOadmin.core.abreModalGeral(html); + } + ) + .fail( + function(data){ + i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); + } + ); + }, adicionaDialogo: function(){ i3GEOadmin.core.abreModalGeral(i3GEOadmin.menus.formAdiciona); }, @@ -205,17 +245,18 @@ Obtém a lista de menus ); }, salvarDialogo: function(id){ + i3GEOadmin.menus.parametrosSalvar = $("#form-edicao-" + id).serialize(); var hash = { "mensagem": i3GEOadmin.menus.dicionario.confirma, "onBotao1": "i3GEOadmin.menus.salvar('"+id+"')", "botao1": i3GEOadmin.menus.dicionario.sim, - "onBotao2": "i3GEOadmin.core.fechaModalConfirma();", + "onBotao2": "i3GEOadmin.menus.parametrosSalvar = '';i3GEOadmin.core.fechaModalConfirma();", "botao2": i3GEOadmin.menus.dicionario.nao }; i3GEOadmin.core.abreModalConfirma(hash); }, salvar: function(id){ - var parametros = $("#form-" + id + " form").serialize(); + var parametros = i3GEOadmin.menus.parametrosSalvar; i3GEOadmin.core.fechaModalGeral(); i3GEOadmin.core.modalAguarde(true); $.post( @@ -224,6 +265,7 @@ Obtém a lista de menus ) .done( function(data, status){ + i3GEOadmin.menus.parametrosSalvar = ''; i3GEOadmin.core.modalAguarde(false); i3GEOadmin.core.iconeAguarde(i3GEOadmin.menus.ondeLista); i3GEOadmin.menus.lista(); @@ -231,6 +273,7 @@ Obtém a lista de menus ) .fail( function(data){ + i3GEOadmin.menus.parametrosSalvar = ''; i3GEOadmin.core.modalAguarde(false); i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); } diff --git a/admin1/catalogo/menus/index.php b/admin1/catalogo/menus/index.php index 3f55cfc..b047ec6 100755 --- a/admin1/catalogo/menus/index.php +++ b/admin1/catalogo/menus/index.php @@ -62,7 +62,7 @@ include "../../head.php";