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 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 165 if(obj.value != ""){
156 166 $("#"+obj.value).show();
157 167 $("#body-"+obj.value).collapse('show');
... ...
admin1/usuarios/operacoes/exec.php
... ... @@ -31,7 +31,9 @@ include_once(dirname(__FILE__)."/../../../admin/php/login.php");
31 31 $funcoesEdicao = array(
32 32 "ADICIONAR",
33 33 "ALTERAR",
34   - "EXCLUIR"
  34 + "EXCLUIR",
  35 + "LISTA",
  36 + "LISTAUNICO"
35 37 );
36 38 if(in_array(strtoupper($funcao),$funcoesEdicao)){
37 39 if(verificaOperacaoSessao("admin/html/operacoes") === false){
... ... @@ -93,27 +95,36 @@ switch ($funcao)
93 95 retornaJSON($dados);
94 96 exit;
95 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 120 case "LISTA":
97 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 123 $dbhw = null;
101 124 $dbh = null;
102 125 header("HTTP/1.1 500 erro ao consultar banco de dados");
103 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 128 $papeis = pegaDados("SELECT * from ".$esquemaadmin."i3geousr_papeis order by nome",$dbh);
118 129 $dbhw = null;
119 130 $dbh = null;
... ... @@ -121,7 +132,7 @@ switch ($funcao)
121 132 header("HTTP/1.1 500 erro ao consultar banco de dados");
122 133 exit;
123 134 }
124   - retornaJSON(array("operacoes"=>$o,"papeis"=>$papeis));
  135 + retornaJSON(array("operacoes"=>$operacoes,"papeis"=>$papeis));
125 136 break;
126 137 case "EXCLUIR":
127 138 $retorna = excluir($id_operacao,$dbhw);
... ...
admin1/usuarios/operacoes/index.js
... ... @@ -57,7 +57,7 @@ Obtém a lista de operacoes
57 57 var templatePapeis = $("#templateInputPapeis").html();
58 58 //template do form de cada operacao
59 59 var templateLista = $("#templateLista").html();
60   - templateLista = templateLista.replace("{{{templateFormLista}}}",$("#templateFormLista").html());
  60 + //templateLista = templateLista.replace("{{{templateFormLista}}}",$("#templateFormLista").html());
61 61 //lista todas as operacoes
62 62 var html = Mustache.to_html(
63 63 "{{#data}}" + templateLista + "{{/data}}",
... ... @@ -67,29 +67,9 @@ Obtém a lista de operacoes
67 67 {
68 68 "data":json["operacoes"],
69 69 "onExcluir": "i3GEOadmin.operacoes.excluirDialogo",//funcao
70   - "onSalvar": "i3GEOadmin.operacoes.salvarDialogo",//funcao
  70 + "onEditar": "i3GEOadmin.operacoes.editarDialogo",//funcao
71 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 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 181 adicionaDialogo: function(){
148 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 185 adiciona: function(){
152 186 var parametros = $("#modalGeral form").serialize();
153 187 i3GEOadmin.core.fechaModalGeral();
... ...
admin1/usuarios/operacoes/index.php
... ... @@ -90,9 +90,7 @@ include "../../head.php";
90 90 <div class="row-content">
91 91 <h3 class="list-group-item-heading {{escondido}}">
92 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 94 <i class="material-icons md-18">edit</i>
97 95 </a>
98 96 <span class="pull-right">&nbsp;&nbsp;</span>
... ... @@ -101,9 +99,7 @@ include &quot;../../head.php&quot;;
101 99 </a>
102 100 </h3>
103 101 </div>
104   - <div class="panel-body panel-collapse collapse" id="body-form-{{id_operacao}}">
105   - {{{templateFormLista}}}
106   - </div>
  102 +
107 103 <div class="list-group-separator"></div>
108 104 </div>
109 105 </script>
... ...