Commit 6b78fd2b4960537d5ae5f91d360d4ad78436fd51
1 parent
ef77502a
Exists in
master
and in
7 other branches
Alteração no layout da lista de dados no sistema de admin
Showing
7 changed files
with
145 additions
and
73 deletions
Show diff stats
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&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&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&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&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&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 "../../head.php"; |
| 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 "../../head.php"; |
| 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 "../../head.php"; |
| 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"> </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 | - | |
| 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
admin1/usuarios/operacoes/index.js
| ... | ... | @@ -251,7 +251,6 @@ Obt&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&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&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 "../../head.php"; |
| 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"> | ... | ... |