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";