Commit 39a98c3899a789839b96314f4b43a70bd90cb2c3

Authored by Edmar Moretti
1 parent 03d9e95a

Reorganização do layout do editor de perfis

admin/admin.db
No preview for this file type
admin1/cadastros/perfis/exec.php
@@ -28,7 +28,9 @@ include_once (dirname ( __FILE__ ) . "/../../../admin/php/login.php"); @@ -28,7 +28,9 @@ include_once (dirname ( __FILE__ ) . "/../../../admin/php/login.php");
28 $funcoesEdicao = array ( 28 $funcoesEdicao = array (
29 "ADICIONAR", 29 "ADICIONAR",
30 "ALTERAR", 30 "ALTERAR",
31 - "EXCLUIR" 31 + "EXCLUIR",
  32 + "LISTA",
  33 + "LISTAUNICO"
32 ); 34 );
33 if (in_array ( strtoupper ( $funcao ), $funcoesEdicao )) { 35 if (in_array ( strtoupper ( $funcao ), $funcoesEdicao )) {
34 if (verificaOperacaoSessao ( "admin/html/arvore" ) === false) { 36 if (verificaOperacaoSessao ( "admin/html/arvore" ) === false) {
@@ -70,6 +72,18 @@ switch ($funcao) { @@ -70,6 +72,18 @@ switch ($funcao) {
70 retornaJSON ( $dados ); 72 retornaJSON ( $dados );
71 exit (); 73 exit ();
72 break; 74 break;
  75 + case "LISTAUNICO" :
  76 + $dados = pegaDados ( "SELECT id_perfil, perfil from ".$esquemaadmin."i3geoadmin_perfis WHERE id_perfil = $id_perfil", $dbh, false );
  77 + if ($dados === false) {
  78 + $dbhw = null;
  79 + $dbh = null;
  80 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  81 + exit ();
  82 + }
  83 + $dbhw = null;
  84 + $dbh = null;
  85 + retornaJSON ( $dados[0] );
  86 + break;
73 case "LISTA" : 87 case "LISTA" :
74 $dados = pegaDados ( "SELECT id_perfil, perfil from ".$esquemaadmin."i3geoadmin_perfis order by lower(perfil)", $dbh, false ); 88 $dados = pegaDados ( "SELECT id_perfil, perfil from ".$esquemaadmin."i3geoadmin_perfis order by lower(perfil)", $dbh, false );
75 if ($dados === false) { 89 if ($dados === false) {
admin1/cadastros/perfis/index.js
@@ -27,6 +27,8 @@ i3GEOadmin.perfis = { @@ -27,6 +27,8 @@ i3GEOadmin.perfis = {
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.perfis.ondeLista = onde; 33 i3GEOadmin.perfis.ondeLista = onde;
32 i3GEOadmin.perfis.lista(); 34 i3GEOadmin.perfis.lista();
@@ -59,7 +61,7 @@ Obtém a lista de perfis @@ -59,7 +61,7 @@ Obtém a lista de perfis
59 { 61 {
60 "data": json, 62 "data": json,
61 "onExcluir": "i3GEOadmin.perfis.excluirDialogo",//funcao 63 "onExcluir": "i3GEOadmin.perfis.excluirDialogo",//funcao
62 - "onSalvar": "i3GEOadmin.perfis.salvarDialogo"//funcao 64 + "onEditar": "i3GEOadmin.perfis.editarDialogo"//funcao
63 } 65 }
64 ) 66 )
65 ); 67 );
@@ -102,6 +104,38 @@ Obtém a lista de perfis @@ -102,6 +104,38 @@ Obtém a lista de perfis
102 i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); 104 i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
103 }); 105 });
104 }, 106 },
  107 + editarDialogo: function(id){
  108 + i3GEOadmin.core.fechaModalGeral();
  109 + i3GEOadmin.core.modalAguarde(true);
  110 + $.post(
  111 + "exec.php?funcao=listaunico",
  112 + "id_perfil=" + id
  113 + )
  114 + .done(
  115 + function(data, status){
  116 + var json = jQuery.parseJSON(data);
  117 + var html = Mustache.to_html(
  118 + "{{#data}}" + $("#templateFormLista").html() + "{{/data}}",
  119 + $.extend(
  120 + {},
  121 + i3GEOadmin.perfis.dicionario,
  122 + {
  123 + "data": json,
  124 + "onExcluir": "i3GEOadmin.perfis.excluirDialogo",//funcao
  125 + "onSalvar": "i3GEOadmin.perfis.salvarDialogo"//funcao
  126 + }
  127 + )
  128 + );
  129 + i3GEOadmin.core.abreModalGeral(html);
  130 + }
  131 + )
  132 + .fail(
  133 + function(data){
  134 + i3GEOadmin.core.modalAguarde(false);
  135 + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
  136 + }
  137 + );
  138 + },
105 adicionaDialogo: function(){ 139 adicionaDialogo: function(){
106 i3GEOadmin.core.abreModalGeral(i3GEOadmin.perfis.formAdiciona); 140 i3GEOadmin.core.abreModalGeral(i3GEOadmin.perfis.formAdiciona);
107 }, 141 },
@@ -159,17 +193,18 @@ Obtém a lista de perfis @@ -159,17 +193,18 @@ Obtém a lista de perfis
159 ); 193 );
160 }, 194 },
161 salvarDialogo: function(id){ 195 salvarDialogo: function(id){
  196 + i3GEOadmin.perfis.parametrosSalvar = $("#form-edicao-" + id).serialize();
162 var hash = { 197 var hash = {
163 "mensagem": i3GEOadmin.perfis.dicionario.confirma, 198 "mensagem": i3GEOadmin.perfis.dicionario.confirma,
164 "onBotao1": "i3GEOadmin.perfis.salvar('"+id+"')", 199 "onBotao1": "i3GEOadmin.perfis.salvar('"+id+"')",
165 "botao1": i3GEOadmin.perfis.dicionario.sim, 200 "botao1": i3GEOadmin.perfis.dicionario.sim,
166 - "onBotao2": "i3GEOadmin.core.fechaModalConfirma();", 201 + "onBotao2": "i3GEOadmin.perfis.parametrosSalvar = '';i3GEOadmin.core.fechaModalConfirma();",
167 "botao2": i3GEOadmin.perfis.dicionario.nao 202 "botao2": i3GEOadmin.perfis.dicionario.nao
168 }; 203 };
169 i3GEOadmin.core.abreModalConfirma(hash); 204 i3GEOadmin.core.abreModalConfirma(hash);
170 }, 205 },
171 salvar: function(id){ 206 salvar: function(id){
172 - var parametros = $("#form-" + id + " form").serialize(); 207 + var parametros = i3GEOadmin.perfis.parametrosSalvar;
173 i3GEOadmin.core.fechaModalGeral(); 208 i3GEOadmin.core.fechaModalGeral();
174 i3GEOadmin.core.modalAguarde(true); 209 i3GEOadmin.core.modalAguarde(true);
175 $.post( 210 $.post(
@@ -178,6 +213,7 @@ Obtém a lista de perfis @@ -178,6 +213,7 @@ Obtém a lista de perfis
178 ) 213 )
179 .done( 214 .done(
180 function(data, status){ 215 function(data, status){
  216 + i3GEOadmin.perfis.parametrosSalvar = '';
181 i3GEOadmin.core.modalAguarde(false); 217 i3GEOadmin.core.modalAguarde(false);
182 i3GEOadmin.core.iconeAguarde(i3GEOadmin.perfis.ondeLista); 218 i3GEOadmin.core.iconeAguarde(i3GEOadmin.perfis.ondeLista);
183 i3GEOadmin.perfis.lista(); 219 i3GEOadmin.perfis.lista();
@@ -185,6 +221,7 @@ Obtém a lista de perfis @@ -185,6 +221,7 @@ Obtém a lista de perfis
185 ) 221 )
186 .fail( 222 .fail(
187 function(data){ 223 function(data){
  224 + i3GEOadmin.perfis.parametrosSalvar = '';
188 i3GEOadmin.core.modalAguarde(false); 225 i3GEOadmin.core.modalAguarde(false);
189 i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); 226 i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
190 } 227 }
admin1/cadastros/perfis/index.php
@@ -17,8 +17,8 @@ include "../../head.php"; @@ -17,8 +17,8 @@ include "../../head.php";
17 17
18 <div class="container"> 18 <div class="container">
19 <div class="row center-block"> 19 <div class="row center-block">
20 - <div class="col-md-12">  
21 - <div class="well hidden" id="titulo"> 20 + <div class="col-md-12" id="titulo">
  21 + <div class="well hidden" >
22 <!-- 22 <!--
23 <button data-toggle="modal" data-target="#ajudaPrincipal" 23 <button data-toggle="modal" data-target="#ajudaPrincipal"
24 class="btn btn-primary btn-fab btn-fab-mini pull-right"> 24 class="btn btn-primary btn-fab btn-fab-mini pull-right">
@@ -33,11 +33,6 @@ include &quot;../../head.php&quot;; @@ -33,11 +33,6 @@ include &quot;../../head.php&quot;;
33 title="{{{filtro}}}" onchange="i3GEOadmin.core.filtra(this)" id="filtro" class="form-control input-lg"> 33 title="{{{filtro}}}" onchange="i3GEOadmin.core.filtra(this)" id="filtro" class="form-control input-lg">
34 </select> 34 </select>
35 </div> 35 </div>
36 - <div class="row pull-right">  
37 - <a onclick="i3GEOadmin.perfis.adicionaDialogo();" href="javascript:void(0)"  
38 - class="btn btn-primary" role="button" style="color:#008579;">{{{adicionar}}}</a>  
39 - </div>  
40 - <div class="clearfix"></div>  
41 <!-- 36 <!--
42 <div id="ajudaPrincipal" class="modal fade" tabindex="-1"> 37 <div id="ajudaPrincipal" class="modal fade" tabindex="-1">
43 <div class="modal-dialog"> 38 <div class="modal-dialog">
@@ -51,6 +46,11 @@ include &quot;../../head.php&quot;; @@ -51,6 +46,11 @@ include &quot;../../head.php&quot;;
51 --> 46 -->
52 </div> 47 </div>
53 <div class="well hidden"> 48 <div class="well hidden">
  49 + <div class="row pull-right">
  50 + <a onclick="i3GEOadmin.perfis.adicionaDialogo();" href="javascript:void(0)"
  51 + class="btn btn-primary" role="button" style="color:#008579;">{{{adicionar}}}</a>
  52 + </div>
  53 + <div class="clearfix"></div>
54 <div id="corpo"></div> 54 <div id="corpo"></div>
55 </div> 55 </div>
56 </div> 56 </div>
@@ -60,32 +60,39 @@ include &quot;../../head.php&quot;; @@ -60,32 +60,39 @@ include &quot;../../head.php&quot;;
60 <option value="form-{{id_perfil}}">{{{perfil}}}</option> 60 <option value="form-{{id_perfil}}">{{{perfil}}}</option>
61 </script> 61 </script>
62 <script id="templateFormLista" type="x-tmpl-mustache"> 62 <script id="templateFormLista" type="x-tmpl-mustache">
63 -<form style="" onchange="this.style.boxShadow='2px 2px 5px 0 #009688';" class="form-horizontal" role="form" 63 +<form id="form-edicao-{{id_perfil}}" style="" action="#" onsubmit="{{onSalvar}}('{{id_perfil}}');return false;" onchange="this.style.boxShadow='2px 2px 5px 0 #009688';" class="form-horizontal" role="form"
64 method="post" > 64 method="post" >
65 - <div class="form-group form-group-lg">  
66 - <label class="col-md-2 control-label" for="perfil">{{{txtPerfil}}}</label>  
67 - <div class="col-md-10">  
68 - <input type="text" value="{{{perfil}}}" class="form-control" name="perfil" required> 65 + <div class="row">
  66 + <div class="col-md-12">
  67 + <h4>{{{txtPerfil}}}</h4>
  68 + <div class="form-group form-group-lg">
  69 + <div class="col-md-10">
  70 + <input title="{{{perfil}}}" type="text" value="{{{perfil}}}" class="form-control" name="perfil" required>
  71 + </div>
  72 + </div>
69 </div> 73 </div>
70 </div> 74 </div>
  75 + <div class="pull-right">
  76 + <button type="submit" class="btn btn-primary" role="button" style="color:#008579;">{{salvar}}</button>
  77 + </div>
71 <div class="clearfix"></div> 78 <div class="clearfix"></div>
72 </form> 79 </form>
73 </script> 80 </script>
74 <script id="templateLista" type="x-tmpl-mustache"> 81 <script id="templateLista" type="x-tmpl-mustache">
75 - <div class="panel panel-default" id="form-{{id_perfil}}">  
76 - <div class="panel-body">  
77 - <div class="row">  
78 - <div class="col-md-12">  
79 - {{{templateFormLista}}}  
80 - <div class="pull-right">  
81 - <a href="javascript:void(0)" onclick="{{onExcluir}}('{{id_perfil}}')" class="btn btn-danger"  
82 - style="color:#e13023;" role="button">{{excluir}}</a>  
83 - <a href="javascript:void(0)"  
84 - onclick="{{onSalvar}}('{{id_perfil}}')" class="btn btn-primary" role="button" style="color:#008579;">{{salvar}}</a>  
85 - </div>  
86 - </div>  
87 - </div> 82 + <div class="list-group-item" id="form-{{id_perfil}}">
  83 + <div class="row-content">
  84 + <h3 class="list-group-item-heading {{escondido}}">
  85 + {{{perfil}}}
  86 + <a href="javascript:void(0)" onclick="{{onEditar}}('{{id_perfil}}')" class="btn btn-danger btn-fab btn-fab-mini pull-right" role="button">
  87 + <i class="material-icons md-18">edit</i>
  88 + </a>
  89 + <span class="pull-right">&nbsp;&nbsp;</span>
  90 + <a href="javascript:void(0)" onclick="{{onExcluir}}('{{id_perfil}}')" class="btn btn-danger btn-fab btn-fab-mini pull-right" role="button">
  91 + <i class="material-icons md-18">delete_forever</i>
  92 + </a>
  93 + </h3>
88 </div> 94 </div>
  95 + <div class="list-group-separator"></div>
89 </div> 96 </div>
90 </script> 97 </script>
91 98
admin1/cadastros/tags/exec.php
@@ -82,7 +82,7 @@ switch ($funcao) { @@ -82,7 +82,7 @@ switch ($funcao) {
82 } 82 }
83 $dbhw = null; 83 $dbhw = null;
84 $dbh = null; 84 $dbh = null;
85 - retornaJSON ( $dados ); 85 + retornaJSON ( $dados[0] );
86 break; 86 break;
87 case "LISTA" : 87 case "LISTA" :
88 $dados = pegaDados ( "SELECT id_tag, nome from ".$esquemaadmin."i3geoadmin_tags order by lower(nome)", $dbh, false ); 88 $dados = pegaDados ( "SELECT id_tag, nome from ".$esquemaadmin."i3geoadmin_tags order by lower(nome)", $dbh, false );
admin1/cadastros/tags/index.php
@@ -66,8 +66,7 @@ include &quot;../../head.php&quot;; @@ -66,8 +66,7 @@ include &quot;../../head.php&quot;;
66 <div class="col-md-12"> 66 <div class="col-md-12">
67 <h4>Tag</h4> 67 <h4>Tag</h4>
68 <div class="form-group form-group-lg"> 68 <div class="form-group form-group-lg">
69 - <label class="col-md-2 control-label" for="nome" >{{{nome}}}</label>  
70 - <div class="col-md-10"> 69 + <div class="col-md-12">
71 <input title="{{{nome}}}" type="text" value="{{{nome}}}" class="form-control" name="nome" required> 70 <input title="{{{nome}}}" type="text" value="{{{nome}}}" class="form-control" name="nome" required>
72 </div> 71 </div>
73 </div> 72 </div>
@@ -94,7 +93,8 @@ include &quot;../../head.php&quot;; @@ -94,7 +93,8 @@ include &quot;../../head.php&quot;;
94 </h3> 93 </h3>
95 </div> 94 </div>
96 <div class="list-group-separator"></div> 95 <div class="list-group-separator"></div>
97 -</div></script> 96 +</div>
  97 +</script>
98 98
99 <script type="text/javascript" src="index.js"></script> 99 <script type="text/javascript" src="index.js"></script>
100 <script type="text/javascript" src="../../dicionario/tags.js"></script> 100 <script type="text/javascript" src="../../dicionario/tags.js"></script>