Commit 6b78fd2b4960537d5ae5f91d360d4ad78436fd51

Authored by Edmar Moretti
1 parent ef77502a

Alteração no layout da lista de dados no sistema de admin

admin/admin.db
No preview for this file type
admin1/usuarios/cadastro/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/usuarios" ) === false) {
... ... @@ -88,7 +90,7 @@ switch ($funcao) {
88 90 header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
89 91 exit ();
90 92 }
91   - $sql = "SELECT * from " . $esquemaadmin . "i3geousr_usuarios WHERE id_usuario = " . $novo;
  93 + $sql = "SELECT id_usuario,ativo,data_cadastro,email,login,nome_usuario from " . $esquemaadmin . "i3geousr_usuarios WHERE id_usuario = " . $novo;
92 94 $dados = pegaDados ( $sql, $dbh );
93 95 if ($dados === false) {
94 96 header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
... ... @@ -104,10 +106,47 @@ switch ($funcao) {
104 106 retornaJSON ( $dados );
105 107 exit ();
106 108 break;
  109 + case "LISTAUNICO" :
  110 + $usuarios = pegaDados ( "SELECT id_usuario,ativo,data_cadastro,email,login,nome_usuario from " . $esquemaadmin . "i3geousr_usuarios WHERE id_usuario = $id_usuario order by nome_usuario", $dbh, false );
  111 + $papeisusuario = pegaDados ( "SELECT P.id_papel, P.nome, P.descricao, UP.id_usuario FROM " . $esquemaadmin . "i3geousr_papelusuario AS UP JOIN " . $esquemaadmin . "i3geousr_papeis AS P ON UP.id_papel = P.id_papel WHERE UP.id_usuario = $id_usuario ", dbh, false );
  112 + if ($usuarios === false || $papeis === false) {
  113 + $dbhw = null;
  114 + $dbh = null;
  115 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  116 + exit ();
  117 + }
  118 + $usuario = $usuarios[0];
  119 + //cria o indice do array conforme o id da operacao
  120 + $o = array();
  121 + foreach($papeisusuario as $op){
  122 + $o[$op["id_papel"]] = $op;
  123 + }
  124 + $usuario["papeis"] = $o;
  125 + //todos os papeis
  126 + $papeis = pegaDados ( "SELECT * from " . $esquemaadmin . "i3geousr_papeis order by nome", $dbh );
  127 + $dbhw = null;
  128 + $dbh = null;
  129 + if ($papeis === false) {
  130 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  131 + exit();
  132 + }
  133 + retornaJSON ( array (
  134 + "usuario" => $usuario,
  135 + "papeis" => $papeis
  136 + ) );
  137 + break;
107 138 case "LISTA" :
108   - $usuarios = pegaDados ( "SELECT id_usuario,ativo,data_cadastro,email,login,nome_usuario from " . $esquemaadmin . "i3geousr_usuarios order by nome_usuario", $dbh, false );
109   - $papeis = pegaDados ( "SELECT P.id_papel, P.nome, P.descricao, UP.id_usuario FROM " . $esquemaadmin . "i3geousr_usuarios AS U JOIN " . $esquemaadmin . "i3geousr_papelusuario AS UP ON U.id_usuario = UP.id_usuario JOIN " . $esquemaadmin . "i3geousr_papeis AS P ON UP.id_papel = P.id_papel ", dbh, false );
110   - if ($usuarios === false || $papeis === false) {
  139 + $usuarios = pegaDados ( "SELECT id_usuario,nome_usuario from " . $esquemaadmin . "i3geousr_usuarios order by nome_usuario", $dbh, false );
  140 + if ($usuarios === false) {
  141 + $dbhw = null;
  142 + $dbh = null;
  143 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  144 + exit ();
  145 + }
  146 + $papeis = pegaDados("SELECT * from ".$esquemaadmin."i3geousr_papeis order by nome",$dbh);
  147 + $dbhw = null;
  148 + $dbh = null;
  149 + if ($papeis === false) {
111 150 $dbhw = null;
112 151 $dbh = null;
113 152 header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
... ... @@ -239,12 +278,7 @@ function adicionaPapel($id_usuario, $id_papel, $dbhw) {
239 278 function excluir($id_usuario, $dbhw) {
240 279 global $esquemaadmin;
241 280 $resultado = i3GeoAdminExclui ( $esquemaadmin . "i3geousr_usuarios", "id_usuario", $id_usuario, $dbhw, false );
242   - if ($resultado === false) {
243   - return false;
244   - }
245   - if ($resultado === true) {
246   - $resultado = excluirPapeis ( $id_usuario, $dbhw );
247   - }
  281 + $resultado = excluirPapeis ( $id_usuario, $dbhw );
248 282 return $resultado;
249 283 }
250 284 function excluirPapeis($id_usuario, $dbhw) {
... ...
admin1/usuarios/cadastro/index.js
... ... @@ -27,6 +27,8 @@ i3GEOadmin.usuarios = {
27 27 ondeLista: "",
28 28 //conteudo html do formulario de adicao de operacao
29 29 formAdiciona: "",
  30 + //parametros obtidos do formulario de edicao antes de abrir o modal de confirmacao
  31 + parametrosSalvar: "",
30 32 init: function(onde){
31 33 i3GEOadmin.usuarios.ondeLista = onde;
32 34 i3GEOadmin.usuarios.lista();
... ... @@ -61,46 +63,7 @@ Obtém a lista de usuarios
61 63 {
62 64 "data": json["usuarios"],
63 65 "onExcluir": "i3GEOadmin.usuarios.excluirDialogo",//funcao
64   - "onSalvar": "i3GEOadmin.usuarios.salvarDialogo",//funcao
65   - "labelDataCadastro": i3GEOadmin.usuarios.dicionario.dataCadastro,
66   - "labelAtivo": i3GEOadmin.usuarios.dicionario.ativo,
67   - "labelNovaSenha": i3GEOadmin.usuarios.dicionario.novaSenha,
68   - "selAtivoSim": function(){
69   - var p = this.ativo;
70   - if(p == "0"){
71   - return "";
72   - } else {
73   - return "selected";
74   - }
75   - },
76   - "selAtivoNao": function(){
77   - var p = this.ativo;
78   - if(p == "0"){
79   - return "selected";
80   - } else {
81   - return "";
82   - }
83   - },
84   - "inputPapeis": function(){
85   - //marca os checkbox
86   - var p = this.papeis;
87   - $(json["papeis"]).each(
88   - function(i,el){
89   - if(p && el.id_papel && (p[el.id_papel] || el.id_papel == 1)){
90   - json["papeis"][i]["checked"] = "checked";
91   - }
92   - else{
93   - json["papeis"][i]["checked"] = "";
94   - }
95   - }
96   - );
97   - return Mustache.to_html(
98   - "{{#data}}" + templatePapeis + "{{/data}}",
99   - {
100   - "data":json["papeis"]
101   - }
102   - );
103   - }
  66 + "onEditar": "i3GEOadmin.usuarios.editarDialogo"//funcao
104 67 }
105 68 )
106 69 );
... ... @@ -113,7 +76,6 @@ Obtém a lista de usuarios
113 76 $("#filtro").html("<option value='' >Todos</option>" + html);
114 77 $("#filtro").combobox();
115 78 $(".ui-autocomplete-input").attr( "title", "Filtro" );
116   -
117 79 if(filtro != ""){
118 80 i3GEOadmin.core.defineFiltro(filtro);
119 81 i3GEOadmin.core.filtra(i3GEOadmin.usuarios.pegaFiltro());
... ... @@ -128,6 +90,7 @@ Obt&amp;eacute;m a lista de usuarios
128 90 {
129 91 "id_usuario": "modal",
130 92 "escondido": "hidden",
  93 + "login": "",
131 94 "excluir": i3GEOadmin.usuarios.dicionario.cancelar,
132 95 "onExcluir": "i3GEOadmin.core.fechaModalGeral",//funcao
133 96 "onSalvar": "i3GEOadmin.usuarios.adiciona",//funcao
... ... @@ -155,6 +118,78 @@ Obt&amp;eacute;m a lista de usuarios
155 118 i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
156 119 });
157 120 },
  121 + editarDialogo: function(id){
  122 + i3GEOadmin.core.fechaModalGeral();
  123 + i3GEOadmin.core.modalAguarde(true);
  124 + $.post(
  125 + "exec.php?funcao=listaunico",
  126 + "id_usuario=" + id
  127 + )
  128 + .done(
  129 + function(data, status){
  130 + var json = jQuery.parseJSON(data);
  131 + var html = Mustache.to_html(
  132 + "{{#data}}" + $("#templateFormLista").html() + "{{/data}}",
  133 + $.extend(
  134 + {},
  135 + i3GEOadmin.usuarios.dicionario,
  136 + {
  137 + "data": json["usuario"],
  138 + "login": "",
  139 + "onExcluir": "i3GEOadmin.usuarios.excluirDialogo",//funcao
  140 + "onSalvar": "i3GEOadmin.usuarios.salvarDialogo",//funcao
  141 + "labelDataCadastro": i3GEOadmin.usuarios.dicionario.dataCadastro,
  142 + "labelAtivo": i3GEOadmin.usuarios.dicionario.ativo,
  143 + "labelNovaSenha": i3GEOadmin.usuarios.dicionario.novaSenha,
  144 + "selAtivoSim": function(){
  145 + var p = this.ativo;
  146 + if(p == "0"){
  147 + return "";
  148 + } else {
  149 + return "selected";
  150 + }
  151 + },
  152 + "selAtivoNao": function(){
  153 + var p = this.ativo;
  154 + if(p == "0"){
  155 + return "selected";
  156 + } else {
  157 + return "";
  158 + }
  159 + },
  160 + "inputPapeis": function(){
  161 + //marca os checkbox
  162 + var p = this.papeis;
  163 + $(json["papeis"]).each(
  164 + function(i,el){
  165 + if(p && el.id_papel && (p[el.id_papel] || el.id_papel == 1)){
  166 + json["papeis"][i]["checked"] = "checked";
  167 + }
  168 + else{
  169 + json["papeis"][i]["checked"] = "";
  170 + }
  171 + }
  172 + );
  173 + return Mustache.to_html(
  174 + "{{#data}}" + $("#templateInputPapeis").html() + "{{/data}}",
  175 + {
  176 + "data":json["papeis"]
  177 + }
  178 + );
  179 + }
  180 + }
  181 + )
  182 + );
  183 + i3GEOadmin.core.abreModalGeral(html);
  184 + }
  185 + )
  186 + .fail(
  187 + function(data){
  188 + i3GEOadmin.core.modalAguarde(false);
  189 + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
  190 + }
  191 + );
  192 + },
158 193 adicionaDialogo: function(){
159 194 i3GEOadmin.core.abreModalGeral(i3GEOadmin.usuarios.formAdiciona);
160 195 },
... ... @@ -212,17 +247,19 @@ Obt&amp;eacute;m a lista de usuarios
212 247 );
213 248 },
214 249 salvarDialogo: function(id){
  250 + //os dados do formulario sao obtidos antes de abrir o modal
  251 + i3GEOadmin.usuarios.parametrosSalvar = $("#form-edicao-" + id).serialize();
215 252 var hash = {
216 253 "mensagem": i3GEOadmin.usuarios.dicionario.confirma,
217 254 "onBotao1": "i3GEOadmin.usuarios.salvar('"+id+"')",
218 255 "botao1": i3GEOadmin.usuarios.dicionario.sim,
219   - "onBotao2": "i3GEOadmin.core.fechaModalConfirma();",
  256 + "onBotao2": "i3GEOadmin.usuarios.parametrosSalvar = '';i3GEOadmin.core.fechaModalConfirma();",
220 257 "botao2": i3GEOadmin.usuarios.dicionario.nao
221 258 };
222 259 i3GEOadmin.core.abreModalConfirma(hash);
223 260 },
224 261 salvar: function(id){
225   - var parametros = $("#form-" + id + " form").serialize();
  262 + var parametros = i3GEOadmin.usuarios.parametrosSalvar;
226 263 i3GEOadmin.core.fechaModalGeral();
227 264 i3GEOadmin.core.modalAguarde(true);
228 265 $.post(
... ... @@ -231,6 +268,7 @@ Obt&amp;eacute;m a lista de usuarios
231 268 )
232 269 .done(
233 270 function(data, status){
  271 + i3GEOadmin.usuarios.parametrosSalvar = "";
234 272 i3GEOadmin.core.modalAguarde(false);
235 273 i3GEOadmin.core.iconeAguarde(i3GEOadmin.usuarios.ondeLista);
236 274 i3GEOadmin.usuarios.lista();
... ... @@ -238,6 +276,7 @@ Obt&amp;eacute;m a lista de usuarios
238 276 )
239 277 .fail(
240 278 function(data){
  279 + i3GEOadmin.usuarios.parametrosSalvar = "";
241 280 i3GEOadmin.core.modalAguarde(false);
242 281 i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
243 282 }
... ...
admin1/usuarios/cadastro/index.php
... ... @@ -57,7 +57,7 @@ include &quot;../../head.php&quot;;
57 57 <option value="form-{{id_usuario}}">{{{nome_usuario}}}</option>
58 58 </script>
59 59 <script id="templateFormLista" type="x-tmpl-mustache">
60   -<form style="" action="#" onsubmit="{{onSalvar}}('{{id_usuario}}');return false;" onchange="this.style.boxShadow='2px 2px 5px 0 #009688';" class="form-horizontal" role="form" method="post" >
  60 +<form id="form-edicao-{{id_usuario}}" style="" action="#" onsubmit="{{onSalvar}}('{{id_usuario}}');return false;" onchange="this.style.boxShadow='2px 2px 5px 0 #009688';" class="form-horizontal" role="form" method="post" >
61 61 <div class="row">
62 62 <div class="col-md-4" >
63 63 <h4> {{{papeisv}}}</h4>
... ... @@ -107,9 +107,9 @@ include &quot;../../head.php&quot;;
107 107 <div class="form-group form-group-lg">
108 108 <div class="col-md-2"></div>
109 109 <div class="checkbox col-md-10">
110   - <label>
111   - <input title="{{{enviaSenha}}}" type="checkbox" checked name="enviaSenha" /> {{{enviaSenha}}}
112   - </label>
  110 + <label>
  111 + <input title="{{{enviaSenha}}}" type="checkbox" checked name="enviaSenha" /> {{{enviaSenha}}}
  112 + </label>
113 113 </div>
114 114 </div>
115 115 </div>
... ... @@ -121,20 +121,20 @@ include &quot;../../head.php&quot;;
121 121 </form>
122 122 </script>
123 123 <script id="templateLista" type="x-tmpl-mustache">
124   -<div class="panel panel-default" id="form-{{id_usuario}}">
125   - <div class="panel-heading icon" role="tab">
126   - <h3 class="panel-title {{escondido}}">
127   - <a href="javascript:void(0)" onclick="{{onExcluir}}('{{id_usuario}}')" class="btn btn-danger btn-fab btn-fab-mini" role="button">
128   - <i class="material-icons">delete_forever</i>
  124 +<div class="list-group-item" id="form-{{id_usuario}}">
  125 + <div class="row-content" >
  126 + <h3 class="list-group-item-heading {{escondido}}">
  127 + {{{nome_usuario}}}
  128 + <a href="javascript:void(0)" onclick="{{onEditar}}('{{id_usuario}}')" class="btn btn-danger btn-fab btn-fab-mini pull-right" role="button" aria-expanded="false" >
  129 + <i class="material-icons md-18">edit</i>
  130 + </a>
  131 + <span class="pull-right">&nbsp;&nbsp;</span>
  132 + <a href="javascript:void(0)" onclick="{{onExcluir}}('{{id_usuario}}')" class="btn btn-danger btn-fab btn-fab-mini pull-right" role="button">
  133 + <i class="material-icons md-18">delete_forever</i>
129 134 </a>
130   - &nbsp;
131   - <a class="collapsed in" role="button" data-toggle="collapse" href="#body-form-{{id_usuario}}"
132   - aria-expanded="false" aria-controls="#body-form-{{id_usuario}}"> {{{nome_usuario}}} </a>
133 135 </h3>
134 136 </div>
135   - <div class="panel-body panel-collapse collapse" id="body-form-{{id_usuario}}">
136   - {{{templateFormLista}}}
137   - </div>
  137 + <div class="list-group-separator"></div>
138 138 </div>
139 139 </script>
140 140 <script id="templateInputPapeis" type="x-tmpl-mustache">
... ...
admin1/usuarios/operacoes/exec.php
... ... @@ -105,7 +105,6 @@ switch ($funcao)
105 105 exit;
106 106 }
107 107 $operacao = $operacoes[0];
108   -
109 108 //cria o indice do array conforme o id da operacao
110 109 $o = array();
111 110 foreach($papeisoperacao as $op){
... ...
admin1/usuarios/operacoes/index.js
... ... @@ -251,7 +251,6 @@ Obt&amp;eacute;m a lista de operacoes
251 251 },
252 252 salvar: function(id){
253 253 var parametros = i3GEOadmin.operacoes.parametrosSalvar;
254   - i3GEOadmin.operacoes.parametrosSalvar = "";
255 254 i3GEOadmin.core.fechaModalGeral();
256 255 if(parametros != ""){
257 256 i3GEOadmin.core.modalAguarde(true);
... ... @@ -261,6 +260,7 @@ Obt&amp;eacute;m a lista de operacoes
261 260 )
262 261 .done(
263 262 function(data, status){
  263 + i3GEOadmin.operacoes.parametrosSalvar = "";
264 264 i3GEOadmin.core.modalAguarde(false);
265 265 i3GEOadmin.core.iconeAguarde(i3GEOadmin.operacoes.ondeLista);
266 266 i3GEOadmin.operacoes.lista();
... ... @@ -268,6 +268,7 @@ Obt&amp;eacute;m a lista de operacoes
268 268 )
269 269 .fail(
270 270 function(data){
  271 + i3GEOadmin.operacoes.parametrosSalvar = "";
271 272 i3GEOadmin.core.modalAguarde(false);
272 273 i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
273 274 }
... ...
admin1/usuarios/operacoes/index.php
... ... @@ -99,8 +99,7 @@ include &quot;../../head.php&quot;;
99 99 </a>
100 100 </h3>
101 101 </div>
102   -
103   -<div class="list-group-separator"></div>
  102 + <div class="list-group-separator"></div>
104 103 </div>
105 104 </script>
106 105 <script id="templateInputPapeis" type="x-tmpl-mustache">
... ...