Commit 0fa6e86d4ffa4153616d10859efdca3d87271d35
1 parent
3199bfe3
Exists in
master
and in
7 other branches
Novo modelo para as listas do sistema de adm
Showing
4 changed files
with
97 additions
and
46 deletions
Show diff stats
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"> </span> | 96 | <span class="pull-right"> </span> |
| @@ -101,9 +99,7 @@ include "../../head.php"; | @@ -101,9 +99,7 @@ include "../../head.php"; | ||
| 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> |