Commit 2e9e942676bc67a7fbe5015a50b6e9fa6b5a6e91

Authored by Edmar Moretti
1 parent 39a98c38

Reorganização do layout do editor de perfis

admin/admin.db
No preview for this file type
admin1/catalogo/mapas/exec.php
@@ -32,7 +32,9 @@ $funcoesEdicao = array ( @@ -32,7 +32,9 @@ $funcoesEdicao = array (
32 "ADICIONAR", 32 "ADICIONAR",
33 "ALTERAR", 33 "ALTERAR",
34 "EXCLUIR", 34 "EXCLUIR",
35 - "LIMPACACHE" 35 + "LIMPACACHE",
  36 + "LISTA",
  37 + "LISTAUNICO"
36 ); 38 );
37 if (in_array ( strtoupper ( $funcao ), $funcoesEdicao )) { 39 if (in_array ( strtoupper ( $funcao ), $funcoesEdicao )) {
38 if (verificaOperacaoSessao ( "admin/html/mapas" ) === false) { 40 if (verificaOperacaoSessao ( "admin/html/mapas" ) === false) {
@@ -74,10 +76,12 @@ switch ($funcao) { @@ -74,10 +76,12 @@ switch ($funcao) {
74 retornaJSON ( $dados ); 76 retornaJSON ( $dados );
75 exit (); 77 exit ();
76 break; 78 break;
77 - case "LISTA" :  
78 - $semmapfile = pegaDados ( "SELECT id_mapa, publicado_mapa, ordem_mapa, perfil_mapa, ligados_mapa, temas_mapa, desc_mapa, ext_mapa, imagem_mapa, linkdireto_mapa, nome_mapa, outros_mapa, 'nao' as contemmapfile from " . $esquemaadmin . "i3geoadmin_mapas where mapfile = '' or mapfile is null order by ordem_mapa, lower(nome_mapa)", $dbh, false );  
79 - $commapfile = pegaDados ( "SELECT id_mapa, publicado_mapa, ordem_mapa, perfil_mapa, ligados_mapa, temas_mapa, desc_mapa, ext_mapa, imagem_mapa, linkdireto_mapa, nome_mapa, outros_mapa, 'sim' as contemmapfile from " . $esquemaadmin . "i3geoadmin_mapas where mapfile != '' and mapfile is not null order by ordem_mapa, lower(nome_mapa)", $dbh, false );  
80 - if ($semmapfile === false || $commapfile === false) { 79 + case "LISTAUNICO" :
  80 + $mapfile = pegaDados ( "SELECT id_mapa, publicado_mapa, ordem_mapa, perfil_mapa, ligados_mapa, temas_mapa, desc_mapa, ext_mapa, imagem_mapa, linkdireto_mapa, nome_mapa, outros_mapa, 'nao' as contemmapfile from " . $esquemaadmin . "i3geoadmin_mapas where id_mapa = $id_mapa AND mapfile = '' or mapfile is null ", $dbh, false );
  81 + if(count($mapfile) == 0){
  82 + $mapfile = pegaDados ( "SELECT id_mapa, publicado_mapa, ordem_mapa, perfil_mapa, ligados_mapa, temas_mapa, desc_mapa, ext_mapa, imagem_mapa, linkdireto_mapa, nome_mapa, outros_mapa, 'sim' as contemmapfile from " . $esquemaadmin . "i3geoadmin_mapas where id_mapa = $id_mapa AND mapfile != '' and mapfile is not null ", $dbh, false );
  83 + }
  84 + if ($mapfile === false) {
81 $dbhw = null; 85 $dbhw = null;
82 $dbh = null; 86 $dbh = null;
83 header ( "HTTP/1.1 500 erro ao consultar banco de dados tabela de mapas" ); 87 header ( "HTTP/1.1 500 erro ao consultar banco de dados tabela de mapas" );
@@ -91,11 +95,32 @@ switch ($funcao) { @@ -91,11 +95,32 @@ switch ($funcao) {
91 $arvore = new Arvore ( $locaplic ); 95 $arvore = new Arvore ( $locaplic );
92 $temas = $arvore->pegaTodosTemas ( true ); 96 $temas = $arvore->pegaTodosTemas ( true );
93 retornaJSON ( array ( 97 retornaJSON ( array (
94 - "dados" => array_merge ( $semmapfile, $commapfile ), 98 + "dados" => $mapfile[0],
95 "perfis" => $perfis, 99 "perfis" => $perfis,
96 "temas" => $temas 100 "temas" => $temas
97 ) ); 101 ) );
98 break; 102 break;
  103 + case "LISTA" :
  104 + $mapfiles = pegaDados ( "SELECT id_mapa, nome_mapa from " . $esquemaadmin . "i3geoadmin_mapas order by ordem_mapa, lower(nome_mapa)", $dbh, false );
  105 + if ($mapfiles === false) {
  106 + $dbhw = null;
  107 + $dbh = null;
  108 + header ( "HTTP/1.1 500 erro ao consultar banco de dados tabela de mapas" );
  109 + exit ();
  110 + }
  111 + $perfis = pegaDados ( "SELECT id_perfil, perfil from " . $esquemaadmin . "i3geoadmin_perfis order by perfil", $dbh, false );
  112 + $dbhw = null;
  113 + $dbh = null;
  114 + // pega a lista de temas
  115 + include ("../../../admin/php/classe_arvore.php");
  116 + $arvore = new Arvore ( $locaplic );
  117 + $temas = $arvore->pegaTodosTemas ( true );
  118 + retornaJSON ( array (
  119 + "dados" => $mapfiles,
  120 + "perfis" => $perfis,
  121 + "temas" => $temas
  122 + ) );
  123 + break;
99 case "EXCLUIR" : 124 case "EXCLUIR" :
100 $retorna = excluir ( $id_mapa, $dbhw ); 125 $retorna = excluir ( $id_mapa, $dbhw );
101 $dbhw = null; 126 $dbhw = null;
admin1/catalogo/mapas/index.js
@@ -27,6 +27,8 @@ i3GEOadmin.mapas = { @@ -27,6 +27,8 @@ i3GEOadmin.mapas = {
27 ondeLista: "", 27 ondeLista: "",
28 //conteudo html do formulario de adicao de operacao 28 //conteudo html do formulario de adicao de operacao
29 formAdiciona: "", 29 formAdiciona: "",
  30 + //parametros obtidos do formulario de edicao antes de abrir o modal de confirmacao
  31 + parametrosSalvar: "",
30 init: function(onde){ 32 init: function(onde){
31 i3GEOadmin.mapas.ondeLista = onde; 33 i3GEOadmin.mapas.ondeLista = onde;
32 i3GEOadmin.mapas.lista(); 34 i3GEOadmin.mapas.lista();
@@ -69,22 +71,7 @@ Obtém a lista @@ -69,22 +71,7 @@ Obtém a lista
69 { 71 {
70 "data": json["dados"], 72 "data": json["dados"],
71 "onExcluir": "i3GEOadmin.mapas.excluirDialogo",//funcao 73 "onExcluir": "i3GEOadmin.mapas.excluirDialogo",//funcao
72 - "onSalvar": "i3GEOadmin.mapas.salvarDialogo",//funcao  
73 - "opcoesPublicado": function(){  
74 - var hash = {};  
75 - hash["sim"] = i3GEOadmin.mapas.dicionario.sim;  
76 - hash["nao"] = i3GEOadmin.mapas.dicionario.nao;  
77 - if(this.publicado_mapa == ""){  
78 - this.publicado_mapa = "SIM";  
79 - }  
80 - hash[this.publicado_mapa + "-sel"] = "selected";  
81 - return Mustache.to_html(  
82 - $("#templateOpcoesPublicado").html(),  
83 - hash  
84 - );  
85 - },  
86 - "opcoesPerfil": opcoesPerfil,  
87 - "opcoesTema": opcoesTema 74 + "onEditar": "i3GEOadmin.mapas.editarDialogo"
88 } 75 }
89 ) 76 )
90 ); 77 );
@@ -139,6 +126,65 @@ Obtém a lista @@ -139,6 +126,65 @@ Obtém a lista
139 i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); 126 i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
140 }); 127 });
141 }, 128 },
  129 + editarDialogo: function(id){
  130 + i3GEOadmin.core.fechaModalGeral();
  131 + i3GEOadmin.core.modalAguarde(true);
  132 + $.post(
  133 + "exec.php?funcao=listaunico",
  134 + "id_mapa=" + id
  135 + )
  136 + .done(
  137 + function(data, status){
  138 + var json = jQuery.parseJSON(data);
  139 + var templateLista = $("#templateFormLista").html();
  140 + //combo com temas
  141 + var opcoesTema = '<option value="">---</option>' + Mustache.to_html(
  142 + "{{#data}}" + $("#templateTemas").html() + "{{/data}}",
  143 + {"data":json["temas"]}
  144 + );
  145 + //combo com perfis
  146 + var opcoesPerfil = '<option value="">---</option>' + Mustache.to_html(
  147 + "{{#data}}" + $("#templateOpcoesPerfil").html() + "{{/data}}",
  148 + {"data":json["perfis"]}
  149 + );
  150 + //lista todas as menus
  151 + var html = Mustache.to_html(
  152 + "{{#data}}" + templateLista + "{{/data}}",
  153 + $.extend(
  154 + {},
  155 + i3GEOadmin.mapas.dicionario,
  156 + {
  157 + "data": json["dados"],
  158 + "onExcluir": "i3GEOadmin.mapas.excluirDialogo",//funcao
  159 + "onSalvar": "i3GEOadmin.mapas.salvarDialogo",//funcao
  160 + "opcoesPublicado": function(){
  161 + var hash = {};
  162 + hash["sim"] = i3GEOadmin.mapas.dicionario.sim;
  163 + hash["nao"] = i3GEOadmin.mapas.dicionario.nao;
  164 + if(this.publicado_mapa == ""){
  165 + this.publicado_mapa = "SIM";
  166 + }
  167 + hash[this.publicado_mapa + "-sel"] = "selected";
  168 + return Mustache.to_html(
  169 + $("#templateOpcoesPublicado").html(),
  170 + hash
  171 + );
  172 + },
  173 + "opcoesPerfil": opcoesPerfil,
  174 + "opcoesTema": opcoesTema
  175 + }
  176 + )
  177 + );
  178 + i3GEOadmin.core.abreModalGeral(html);
  179 + }
  180 + )
  181 + .fail(
  182 + function(data){
  183 + i3GEOadmin.core.modalAguarde(false);
  184 + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
  185 + }
  186 + );
  187 + },
142 adicionaDialogo: function(){ 188 adicionaDialogo: function(){
143 i3GEOadmin.core.abreModalGeral(i3GEOadmin.mapas.formAdiciona); 189 i3GEOadmin.core.abreModalGeral(i3GEOadmin.mapas.formAdiciona);
144 }, 190 },
@@ -196,17 +242,18 @@ Obt&amp;eacute;m a lista @@ -196,17 +242,18 @@ Obt&amp;eacute;m a lista
196 ); 242 );
197 }, 243 },
198 salvarDialogo: function(id){ 244 salvarDialogo: function(id){
  245 + i3GEOadmin.mapas.parametrosSalvar = $("#form-edicao-" + id).serialize();
199 var hash = { 246 var hash = {
200 "mensagem": i3GEOadmin.mapas.dicionario.confirma, 247 "mensagem": i3GEOadmin.mapas.dicionario.confirma,
201 "onBotao1": "i3GEOadmin.mapas.salvar('"+id+"')", 248 "onBotao1": "i3GEOadmin.mapas.salvar('"+id+"')",
202 "botao1": i3GEOadmin.mapas.dicionario.sim, 249 "botao1": i3GEOadmin.mapas.dicionario.sim,
203 - "onBotao2": "i3GEOadmin.core.fechaModalConfirma();", 250 + "onBotao2": "i3GEOadmin.mapas.parametrosSalvar = '';i3GEOadmin.core.fechaModalConfirma();",
204 "botao2": i3GEOadmin.mapas.dicionario.nao 251 "botao2": i3GEOadmin.mapas.dicionario.nao
205 }; 252 };
206 i3GEOadmin.core.abreModalConfirma(hash); 253 i3GEOadmin.core.abreModalConfirma(hash);
207 }, 254 },
208 salvar: function(id){ 255 salvar: function(id){
209 - var parametros = $("#form-" + id + " form").serialize(); 256 + var parametros = i3GEOadmin.mapas.parametrosSalvar;
210 i3GEOadmin.core.fechaModalGeral(); 257 i3GEOadmin.core.fechaModalGeral();
211 i3GEOadmin.core.modalAguarde(true); 258 i3GEOadmin.core.modalAguarde(true);
212 $.post( 259 $.post(
@@ -215,6 +262,7 @@ Obt&amp;eacute;m a lista @@ -215,6 +262,7 @@ Obt&amp;eacute;m a lista
215 ) 262 )
216 .done( 263 .done(
217 function(data, status){ 264 function(data, status){
  265 + i3GEOadmin.mapas.parametrosSalvar = '';
218 i3GEOadmin.core.modalAguarde(false); 266 i3GEOadmin.core.modalAguarde(false);
219 i3GEOadmin.core.iconeAguarde(i3GEOadmin.mapas.ondeLista); 267 i3GEOadmin.core.iconeAguarde(i3GEOadmin.mapas.ondeLista);
220 i3GEOadmin.mapas.lista(); 268 i3GEOadmin.mapas.lista();
@@ -222,6 +270,7 @@ Obt&amp;eacute;m a lista @@ -222,6 +270,7 @@ Obt&amp;eacute;m a lista
222 ) 270 )
223 .fail( 271 .fail(
224 function(data){ 272 function(data){
  273 + i3GEOadmin.mapas.parametrosSalvar = '';
225 i3GEOadmin.core.modalAguarde(false); 274 i3GEOadmin.core.modalAguarde(false);
226 i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); 275 i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
227 } 276 }
admin1/catalogo/mapas/index.php
@@ -56,7 +56,7 @@ include &quot;../../head.php&quot;; @@ -56,7 +56,7 @@ include &quot;../../head.php&quot;;
56 <option value="form-{{id_mapa}}">{{{nome_mapa}}}</option> 56 <option value="form-{{id_mapa}}">{{{nome_mapa}}}</option>
57 </script> 57 </script>
58 <script id="templateFormLista" type="x-tmpl-mustache"> 58 <script id="templateFormLista" type="x-tmpl-mustache">
59 -<form style="" action="#" onsubmit="{{onSalvar}}('{{id_mapa}}');return false;" onchange="this.style.boxShadow='2px 2px 5px 0 #009688';" class="form-horizontal" role="form" method="post" > 59 +<form id="form-edicao-{{id_mapa}}" style="" action="#" onsubmit="{{onSalvar}}('{{id_mapa}}');return false;" onchange="this.style.boxShadow='2px 2px 5px 0 #009688';" class="form-horizontal" role="form" method="post" >
60 <div class="row"> 60 <div class="row">
61 <div class="col-md-12"> 61 <div class="col-md-12">
62 <div class="form-group form-group-lg"> 62 <div class="form-group form-group-lg">
@@ -162,20 +162,20 @@ include &quot;../../head.php&quot;; @@ -162,20 +162,20 @@ include &quot;../../head.php&quot;;
162 </form> 162 </form>
163 </script> 163 </script>
164 <script id="templateLista" type="x-tmpl-mustache"> 164 <script id="templateLista" type="x-tmpl-mustache">
165 -<div class="panel panel-default" id="form-{{id_mapa}}">  
166 - <div class="panel-heading icon" role="tab">  
167 - <h3 class="panel-title {{escondido}}">  
168 - <a href="javascript:void(0)" onclick="{{onExcluir}}('{{id_mapa}}')" class="btn btn-danger btn-fab btn-fab-mini" role="button">  
169 - <i class="material-icons">delete_forever</i> 165 +<div class="list-group-item" id="form-{{id_mapa}}">
  166 + <div class="row-content">
  167 + <h3 class="list-group-item-heading {{escondido}}">
  168 + {{{nome_mapa}}}
  169 + <a href="javascript:void(0)" onclick="{{onEditar}}('{{id_mapa}}')" class="btn btn-danger btn-fab btn-fab-mini pull-right" role="button">
  170 + <i class="material-icons md-18">edit</i>
  171 + </a>
  172 + <span class="pull-right">&nbsp;&nbsp;</span>
  173 + <a href="javascript:void(0)" onclick="{{onExcluir}}('{{id_mapa}}')" class="btn btn-danger btn-fab btn-fab-mini pull-right" role="button">
  174 + <i class="material-icons md-18">delete_forever</i>
170 </a> 175 </a>
171 - &nbsp;  
172 - <a class="collapsed in" role="button" data-toggle="collapse" href="#body-form-{{id_mapa}}"  
173 - aria-expanded="false" aria-controls="#body-form-{{id_mapa}}"> {{{nome_mapa}}} </a>  
174 </h3> 176 </h3>
175 </div> 177 </div>
176 - <div class="panel-body panel-collapse collapse" id="body-form-{{id_mapa}}">  
177 - {{{templateFormLista}}}  
178 - </div> 178 + <div class="list-group-separator"></div>
179 </div> 179 </div>
180 </script> 180 </script>
181 <script id="templateTemas" type="x-tmpl-mustache"> 181 <script id="templateTemas" type="x-tmpl-mustache">