diff --git a/admin1/js/core.js b/admin1/js/core.js index 6e00db0..6a099b5 100755 --- a/admin1/js/core.js +++ b/admin1/js/core.js @@ -152,6 +152,16 @@ i3GEOadmin.core = { } } ); + $("#corpo .list-group-item").each( + function(i,el){ + if(obj.value == ""){ + $(el).show(); + } + else { + $(el).hide(); + } + } + ); if(obj.value != ""){ $("#"+obj.value).show(); $("#body-"+obj.value).collapse('show'); diff --git a/admin1/usuarios/operacoes/exec.php b/admin1/usuarios/operacoes/exec.php index 3e7d3be..6bd389a 100755 --- a/admin1/usuarios/operacoes/exec.php +++ b/admin1/usuarios/operacoes/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/operacoes") === false){ @@ -93,27 +95,36 @@ switch ($funcao) retornaJSON($dados); exit; break; + case "LISTAUNICO": + $operacoes = pegaDados("SELECT id_operacao,codigo,descricao from ".$esquemaadmin."i3geousr_operacoes where id_operacao = $id_operacao order by codigo",$dbh,false); + $papeisoperacao = pegaDados("SELECT P.id_papel, P.nome, P.descricao,OP.id_operacao FROM ".$esquemaadmin."i3geousr_operacoespapeis AS OP JOIN ".$esquemaadmin."i3geousr_papeis AS P ON OP.id_papel = P.id_papel WHERE OP.id_operacao = $id_operacao ",$dbh,false); + if($operacoes === false || $papeisoperacao === false){ + $dbhw = null; + $dbh = null; + header("HTTP/1.1 500 erro ao consultar banco de dados"); + exit; + } + $operacao = $operacoes[0]; + $operacao["papeis"] = $papeisoperacao[0]; + //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("operacao"=>$operacao,"papeis"=>$papeis)); + break; + case "LISTA": $operacoes = pegaDados("SELECT id_operacao,codigo,descricao from ".$esquemaadmin."i3geousr_operacoes order by codigo",$dbh,false); - $papeis = pegaDados("SELECT P.id_papel, P.nome, P.descricao, OP.id_operacao FROM ".$esquemaadmin."i3geousr_operacoes AS O JOIN ".$esquemaadmin."i3geousr_operacoespapeis AS OP ON O.id_operacao = OP.id_operacao JOIN ".$esquemaadmin."i3geousr_papeis AS P ON OP.id_papel = P.id_papel ",$dbh,false); - if($operacoes === false || $papeis === false){ + if($operacoes === false){ $dbhw = null; $dbh = null; header("HTTP/1.1 500 erro ao consultar banco de dados"); exit; } - $o = array(); - foreach ($operacoes as $operacao){ - //pega os papeis registrados para cada operacao - $p = array(); - foreach ($papeis as $papel){ - if($papel["id_operacao"] == $operacao["id_operacao"]){ - $p[$papel["id_papel"]] = $papel; - } - } - $operacao["papeis"] = $p; - $o[] = $operacao; - } $papeis = pegaDados("SELECT * from ".$esquemaadmin."i3geousr_papeis order by nome",$dbh); $dbhw = null; $dbh = null; @@ -121,7 +132,7 @@ switch ($funcao) header("HTTP/1.1 500 erro ao consultar banco de dados"); exit; } - retornaJSON(array("operacoes"=>$o,"papeis"=>$papeis)); + retornaJSON(array("operacoes"=>$operacoes,"papeis"=>$papeis)); break; case "EXCLUIR": $retorna = excluir($id_operacao,$dbhw); diff --git a/admin1/usuarios/operacoes/index.js b/admin1/usuarios/operacoes/index.js index 9f8d725..0f63475 100755 --- a/admin1/usuarios/operacoes/index.js +++ b/admin1/usuarios/operacoes/index.js @@ -57,7 +57,7 @@ Obtém a lista de operacoes var templatePapeis = $("#templateInputPapeis").html(); //template do form de cada operacao var templateLista = $("#templateLista").html(); - templateLista = templateLista.replace("{{{templateFormLista}}}",$("#templateFormLista").html()); + //templateLista = templateLista.replace("{{{templateFormLista}}}",$("#templateFormLista").html()); //lista todas as operacoes var html = Mustache.to_html( "{{#data}}" + templateLista + "{{/data}}", @@ -67,29 +67,9 @@ Obtém a lista de operacoes { "data":json["operacoes"], "onExcluir": "i3GEOadmin.operacoes.excluirDialogo",//funcao - "onSalvar": "i3GEOadmin.operacoes.salvarDialogo",//funcao + "onEditar": "i3GEOadmin.operacoes.editarDialogo",//funcao "labelCodigo": i3GEOadmin.operacoes.dicionario.codigo, - "labelDescricao": i3GEOadmin.operacoes.dicionario.descricao, - "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"] - } - ); - } + "labelDescricao": i3GEOadmin.operacoes.dicionario.descricao } ) ); @@ -144,10 +124,64 @@ Obtém a lista de operacoes i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); }); }, + editarDialogo: function(id){ + i3GEOadmin.core.fechaModalGeral(); + i3GEOadmin.core.modalAguarde(true); + $.post( + "exec.php?funcao=listaunico", + "id_operacao=" + id + ) + .done( + function(data, status){ + var json = jQuery.parseJSON(data); + var html = Mustache.to_html( + "{{#data}}" + $("#templateFormLista").html() + "{{/data}}", + $.extend( + {}, + i3GEOadmin.operacoes.dicionario, + { + "data":json["operacao"], + "labelCodigo": i3GEOadmin.operacoes.dicionario.codigo, + "labelDescricao": i3GEOadmin.operacoes.dicionario.descricao, + "onExcluir": "i3GEOadmin.core.fechaModalGeral",//funcao + "onSalvar": "i3GEOadmin.operacoes.salvarDialogo",//funcao + "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.operacoes.formAdiciona); }, -// os parametros sao obtidos do formulario aberto do modal + //os parametros sao obtidos do formulario aberto do modal adiciona: function(){ var parametros = $("#modalGeral form").serialize(); i3GEOadmin.core.fechaModalGeral(); diff --git a/admin1/usuarios/operacoes/index.php b/admin1/usuarios/operacoes/index.php index ca155ed..c6695c0 100755 --- a/admin1/usuarios/operacoes/index.php +++ b/admin1/usuarios/operacoes/index.php @@ -90,9 +90,7 @@ include "../../head.php";
-