Commit 0fa6e86d4ffa4153616d10859efdca3d87271d35

Authored by Edmar Moretti
1 parent 3199bfe3

Novo modelo para as listas do sistema de adm

admin1/js/core.js
@@ -152,6 +152,16 @@ i3GEOadmin.core = { @@ -152,6 +152,16 @@ i3GEOadmin.core = {
152 } 152 }
153 } 153 }
154 ); 154 );
  155 + $("#corpo .list-group-item").each(
  156 + function(i,el){
  157 + if(obj.value == ""){
  158 + $(el).show();
  159 + }
  160 + else {
  161 + $(el).hide();
  162 + }
  163 + }
  164 + );
155 if(obj.value != ""){ 165 if(obj.value != ""){
156 $("#"+obj.value).show(); 166 $("#"+obj.value).show();
157 $("#body-"+obj.value).collapse('show'); 167 $("#body-"+obj.value).collapse('show');
admin1/usuarios/operacoes/exec.php
@@ -31,7 +31,9 @@ include_once(dirname(__FILE__)."/../../../admin/php/login.php"); @@ -31,7 +31,9 @@ include_once(dirname(__FILE__)."/../../../admin/php/login.php");
31 $funcoesEdicao = array( 31 $funcoesEdicao = array(
32 "ADICIONAR", 32 "ADICIONAR",
33 "ALTERAR", 33 "ALTERAR",
34 - "EXCLUIR" 34 + "EXCLUIR",
  35 + "LISTA",
  36 + "LISTAUNICO"
35 ); 37 );
36 if(in_array(strtoupper($funcao),$funcoesEdicao)){ 38 if(in_array(strtoupper($funcao),$funcoesEdicao)){
37 if(verificaOperacaoSessao("admin/html/operacoes") === false){ 39 if(verificaOperacaoSessao("admin/html/operacoes") === false){
@@ -93,27 +95,36 @@ switch ($funcao) @@ -93,27 +95,36 @@ switch ($funcao)
93 retornaJSON($dados); 95 retornaJSON($dados);
94 exit; 96 exit;
95 break; 97 break;
  98 + case "LISTAUNICO":
  99 + $operacoes = pegaDados("SELECT id_operacao,codigo,descricao from ".$esquemaadmin."i3geousr_operacoes where id_operacao = $id_operacao order by codigo",$dbh,false);
  100 + $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);
  101 + if($operacoes === false || $papeisoperacao === false){
  102 + $dbhw = null;
  103 + $dbh = null;
  104 + header("HTTP/1.1 500 erro ao consultar banco de dados");
  105 + exit;
  106 + }
  107 + $operacao = $operacoes[0];
  108 + $operacao["papeis"] = $papeisoperacao[0];
  109 + //todos os papeis
  110 + $papeis = pegaDados("SELECT * from ".$esquemaadmin."i3geousr_papeis order by nome",$dbh);
  111 + $dbhw = null;
  112 + $dbh = null;
  113 + if($papeis === false){
  114 + header("HTTP/1.1 500 erro ao consultar banco de dados");
  115 + exit;
  116 + }
  117 + retornaJSON(array("operacao"=>$operacao,"papeis"=>$papeis));
  118 + break;
  119 +
96 case "LISTA": 120 case "LISTA":
97 $operacoes = pegaDados("SELECT id_operacao,codigo,descricao from ".$esquemaadmin."i3geousr_operacoes order by codigo",$dbh,false); 121 $operacoes = pegaDados("SELECT id_operacao,codigo,descricao from ".$esquemaadmin."i3geousr_operacoes order by codigo",$dbh,false);
98 - $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);  
99 - if($operacoes === false || $papeis === false){ 122 + if($operacoes === false){
100 $dbhw = null; 123 $dbhw = null;
101 $dbh = null; 124 $dbh = null;
102 header("HTTP/1.1 500 erro ao consultar banco de dados"); 125 header("HTTP/1.1 500 erro ao consultar banco de dados");
103 exit; 126 exit;
104 } 127 }
105 - $o = array();  
106 - foreach ($operacoes as $operacao){  
107 - //pega os papeis registrados para cada operacao  
108 - $p = array();  
109 - foreach ($papeis as $papel){  
110 - if($papel["id_operacao"] == $operacao["id_operacao"]){  
111 - $p[$papel["id_papel"]] = $papel;  
112 - }  
113 - }  
114 - $operacao["papeis"] = $p;  
115 - $o[] = $operacao;  
116 - }  
117 $papeis = pegaDados("SELECT * from ".$esquemaadmin."i3geousr_papeis order by nome",$dbh); 128 $papeis = pegaDados("SELECT * from ".$esquemaadmin."i3geousr_papeis order by nome",$dbh);
118 $dbhw = null; 129 $dbhw = null;
119 $dbh = null; 130 $dbh = null;
@@ -121,7 +132,7 @@ switch ($funcao) @@ -121,7 +132,7 @@ switch ($funcao)
121 header("HTTP/1.1 500 erro ao consultar banco de dados"); 132 header("HTTP/1.1 500 erro ao consultar banco de dados");
122 exit; 133 exit;
123 } 134 }
124 - retornaJSON(array("operacoes"=>$o,"papeis"=>$papeis)); 135 + retornaJSON(array("operacoes"=>$operacoes,"papeis"=>$papeis));
125 break; 136 break;
126 case "EXCLUIR": 137 case "EXCLUIR":
127 $retorna = excluir($id_operacao,$dbhw); 138 $retorna = excluir($id_operacao,$dbhw);
admin1/usuarios/operacoes/index.js
@@ -57,7 +57,7 @@ Obtém a lista de operacoes @@ -57,7 +57,7 @@ Obtém a lista de operacoes
57 var templatePapeis = $("#templateInputPapeis").html(); 57 var templatePapeis = $("#templateInputPapeis").html();
58 //template do form de cada operacao 58 //template do form de cada operacao
59 var templateLista = $("#templateLista").html(); 59 var templateLista = $("#templateLista").html();
60 - templateLista = templateLista.replace("{{{templateFormLista}}}",$("#templateFormLista").html()); 60 + //templateLista = templateLista.replace("{{{templateFormLista}}}",$("#templateFormLista").html());
61 //lista todas as operacoes 61 //lista todas as operacoes
62 var html = Mustache.to_html( 62 var html = Mustache.to_html(
63 "{{#data}}" + templateLista + "{{/data}}", 63 "{{#data}}" + templateLista + "{{/data}}",
@@ -67,29 +67,9 @@ Obtém a lista de operacoes @@ -67,29 +67,9 @@ Obtém a lista de operacoes
67 { 67 {
68 "data":json["operacoes"], 68 "data":json["operacoes"],
69 "onExcluir": "i3GEOadmin.operacoes.excluirDialogo",//funcao 69 "onExcluir": "i3GEOadmin.operacoes.excluirDialogo",//funcao
70 - "onSalvar": "i3GEOadmin.operacoes.salvarDialogo",//funcao 70 + "onEditar": "i3GEOadmin.operacoes.editarDialogo",//funcao
71 "labelCodigo": i3GEOadmin.operacoes.dicionario.codigo, 71 "labelCodigo": i3GEOadmin.operacoes.dicionario.codigo,
72 - "labelDescricao": i3GEOadmin.operacoes.dicionario.descricao,  
73 - "inputPapeis": function(){  
74 - //marca os checkbox  
75 - var p = this.papeis;  
76 - $(json["papeis"]).each(  
77 - function(i,el){  
78 - if(p && el.id_papel && (p[el.id_papel] || el.id_papel == 1)){  
79 - json["papeis"][i]["checked"] = "checked";  
80 - }  
81 - else{  
82 - json["papeis"][i]["checked"] = "";  
83 - }  
84 - }  
85 - );  
86 - return Mustache.to_html(  
87 - "{{#data}}" + templatePapeis + "{{/data}}",  
88 - {  
89 - "data":json["papeis"]  
90 - }  
91 - );  
92 - } 72 + "labelDescricao": i3GEOadmin.operacoes.dicionario.descricao
93 } 73 }
94 ) 74 )
95 ); 75 );
@@ -144,10 +124,64 @@ Obtém a lista de operacoes @@ -144,10 +124,64 @@ Obtém a lista de operacoes
144 i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); 124 i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
145 }); 125 });
146 }, 126 },
  127 + editarDialogo: function(id){
  128 + i3GEOadmin.core.fechaModalGeral();
  129 + i3GEOadmin.core.modalAguarde(true);
  130 + $.post(
  131 + "exec.php?funcao=listaunico",
  132 + "id_operacao=" + id
  133 + )
  134 + .done(
  135 + function(data, status){
  136 + var json = jQuery.parseJSON(data);
  137 + var html = Mustache.to_html(
  138 + "{{#data}}" + $("#templateFormLista").html() + "{{/data}}",
  139 + $.extend(
  140 + {},
  141 + i3GEOadmin.operacoes.dicionario,
  142 + {
  143 + "data":json["operacao"],
  144 + "labelCodigo": i3GEOadmin.operacoes.dicionario.codigo,
  145 + "labelDescricao": i3GEOadmin.operacoes.dicionario.descricao,
  146 + "onExcluir": "i3GEOadmin.core.fechaModalGeral",//funcao
  147 + "onSalvar": "i3GEOadmin.operacoes.salvarDialogo",//funcao
  148 + "inputPapeis": function(){
  149 + //marca os checkbox
  150 + var p = this.papeis;
  151 + $(json["papeis"]).each(
  152 + function(i,el){
  153 + if(p && el.id_papel && (p[el.id_papel] || el.id_papel == 1)){
  154 + json["papeis"][i]["checked"] = "checked";
  155 + }
  156 + else{
  157 + json["papeis"][i]["checked"] = "";
  158 + }
  159 + }
  160 + );
  161 + return Mustache.to_html(
  162 + "{{#data}}" + $("#templateInputPapeis").html() + "{{/data}}",
  163 + {
  164 + "data":json["papeis"]
  165 + }
  166 + );
  167 + }
  168 + }
  169 + )
  170 + );
  171 + i3GEOadmin.core.abreModalGeral(html);
  172 + }
  173 + )
  174 + .fail(
  175 + function(data){
  176 + i3GEOadmin.core.modalAguarde(false);
  177 + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
  178 + }
  179 + );
  180 + },
147 adicionaDialogo: function(){ 181 adicionaDialogo: function(){
148 i3GEOadmin.core.abreModalGeral(i3GEOadmin.operacoes.formAdiciona); 182 i3GEOadmin.core.abreModalGeral(i3GEOadmin.operacoes.formAdiciona);
149 }, 183 },
150 -// os parametros sao obtidos do formulario aberto do modal 184 + //os parametros sao obtidos do formulario aberto do modal
151 adiciona: function(){ 185 adiciona: function(){
152 var parametros = $("#modalGeral form").serialize(); 186 var parametros = $("#modalGeral form").serialize();
153 i3GEOadmin.core.fechaModalGeral(); 187 i3GEOadmin.core.fechaModalGeral();
admin1/usuarios/operacoes/index.php
@@ -90,9 +90,7 @@ include "../../head.php"; @@ -90,9 +90,7 @@ include "../../head.php";
90 <div class="row-content"> 90 <div class="row-content">
91 <h3 class="list-group-item-heading {{escondido}}"> 91 <h3 class="list-group-item-heading {{escondido}}">
92 {{{codigo}}} 92 {{{codigo}}}
93 -  
94 - <a class="btn btn-danger btn-fab btn-fab-mini pull-right" role="button" data-toggle="collapse" href="#body-form-{{id_operacao}}"  
95 - aria-expanded="false" aria-controls="#body-form-{{id_operacao}}"> 93 + <a href="javascript:void(0)" onclick="{{onEditar}}('{{id_operacao}}')" class="btn btn-danger btn-fab btn-fab-mini pull-right" role="button" aria-expanded="false" >
96 <i class="material-icons md-18">edit</i> 94 <i class="material-icons md-18">edit</i>
97 </a> 95 </a>
98 <span class="pull-right">&nbsp;&nbsp;</span> 96 <span class="pull-right">&nbsp;&nbsp;</span>
@@ -101,9 +99,7 @@ include &quot;../../head.php&quot;; @@ -101,9 +99,7 @@ include &quot;../../head.php&quot;;
101 </a> 99 </a>
102 </h3> 100 </h3>
103 </div> 101 </div>
104 - <div class="panel-body panel-collapse collapse" id="body-form-{{id_operacao}}">  
105 - {{{templateFormLista}}}  
106 - </div> 102 +
107 <div class="list-group-separator"></div> 103 <div class="list-group-separator"></div>
108 </div> 104 </div>
109 </script> 105 </script>