Commit bd913fd7a3faf3f27886ac6055239fef547d2d58
1 parent
6b78fd2b
Exists in
master
and in
7 other branches
Alteração no layout da lista de dados no sistema de admin
Showing
6 changed files
with
113 additions
and
58 deletions
Show diff stats
admin/admin.db
No preview for this file type
admin1/usuarios/cadastro/exec.php
| ... | ... | @@ -147,32 +147,11 @@ switch ($funcao) { |
| 147 | 147 | $dbhw = null; |
| 148 | 148 | $dbh = null; |
| 149 | 149 | if ($papeis === false) { |
| 150 | - $dbhw = null; | |
| 151 | - $dbh = null; | |
| 152 | 150 | header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); |
| 153 | 151 | exit (); |
| 154 | 152 | } |
| 155 | - $o = array (); | |
| 156 | - foreach ( $usuarios as $usuario ) { | |
| 157 | - // pega os papeis registrados para cada operacao | |
| 158 | - $p = array (); | |
| 159 | - foreach ( $papeis as $papel ) { | |
| 160 | - if ($papel["id_usuario"] == $usuario["id_usuario"]) { | |
| 161 | - $p[$papel["id_papel"]] = $papel; | |
| 162 | - } | |
| 163 | - } | |
| 164 | - $usuario["papeis"] = $p; | |
| 165 | - $o[] = $usuario; | |
| 166 | - } | |
| 167 | - $papeis = pegaDados ( "SELECT * from " . $esquemaadmin . "i3geousr_papeis order by nome", $dbh ); | |
| 168 | - $dbhw = null; | |
| 169 | - $dbh = null; | |
| 170 | - if ($papeis === false) { | |
| 171 | - header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); | |
| 172 | - exit(); | |
| 173 | - } | |
| 174 | 153 | retornaJSON ( array ( |
| 175 | - "usuarios" => $o, | |
| 154 | + "usuarios" => $usuarios, | |
| 176 | 155 | "papeis" => $papeis |
| 177 | 156 | ) ); |
| 178 | 157 | break; | ... | ... |
admin1/usuarios/cadastro/index.js
| ... | ... | @@ -53,7 +53,7 @@ Obtém a lista de usuarios |
| 53 | 53 | var templatePapeis = $("#templateInputPapeis").html(); |
| 54 | 54 | //template do form de cada operacao |
| 55 | 55 | var templateLista = $("#templateLista").html(); |
| 56 | - templateLista = templateLista.replace("{{{templateFormLista}}}",$("#templateFormLista").html()); | |
| 56 | + //templateLista = templateLista.replace("{{{templateFormLista}}}",$("#templateFormLista").html()); | |
| 57 | 57 | //lista todas as usuarios |
| 58 | 58 | var html = Mustache.to_html( |
| 59 | 59 | "{{#data}}" + templateLista + "{{/data}}", | ... | ... |
admin1/usuarios/grupos/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) { |
| ... | ... | @@ -89,35 +91,51 @@ switch ($funcao) { |
| 89 | 91 | retornaJSON ( $dados ); |
| 90 | 92 | exit (); |
| 91 | 93 | break; |
| 94 | + case "LISTAUNICO" : | |
| 95 | + $grupos = pegaDados ( "SELECT id_grupo,nome,descricao from ".$esquemaadmin."i3geousr_grupos order by nome", $dbh, false ); | |
| 96 | + $gruposusuarios = pegaDados ( "SELECT U.nome_usuario, U.id_usuario, UP.id_grupo FROM ".$esquemaadmin."i3geousr_grupousuario AS UP JOIN ".$esquemaadmin."i3geousr_usuarios AS U ON U.id_usuario = UP.id_usuario", dbh, false ); | |
| 97 | + if ($gruposusuarios === false || $grupos === false) { | |
| 98 | + $dbhw = null; | |
| 99 | + $dbh = null; | |
| 100 | + header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); | |
| 101 | + exit (); | |
| 102 | + } | |
| 103 | + $grupo = $grupos[0]; | |
| 104 | + $o = array (); | |
| 105 | + foreach ( $gruposusuarios as $gp ) { | |
| 106 | + $o[$gp["id_grupo"]] = $gp; | |
| 107 | + } | |
| 108 | + $grupo["usuarios"] = $o; | |
| 109 | + $usuarios = pegaDados ( "SELECT id_usuario, login, nome_usuario from " . $esquemaadmin . "i3geousr_usuarios WHERE ativo = 1 order by login", $dbh ); | |
| 110 | + $dbhw = null; | |
| 111 | + $dbh = null; | |
| 112 | + if ($usuarios === false) { | |
| 113 | + header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); | |
| 114 | + exit(); | |
| 115 | + } | |
| 116 | + retornaJSON ( array ( | |
| 117 | + "grupo" => $grupo, | |
| 118 | + "usuarios" => $usuarios | |
| 119 | + ) ); | |
| 120 | + break; | |
| 92 | 121 | case "LISTA" : |
| 93 | - $grupos = pegaDados ( "SELECT id_grupo,nome,descricao from ".$esquemaadmin."i3geousr_grupos order by nome", $dbh, false ); | |
| 94 | - $usuarios = pegaDados ( "SELECT U.nome_usuario, U.id_usuario, U.login, UP.id_grupo FROM ".$esquemaadmin."i3geousr_usuarios AS U JOIN ".$esquemaadmin."i3geousr_grupousuario AS UP ON U.id_usuario = UP.id_usuario", dbh, false ); | |
| 95 | - if ($usuarios === false || $grupos === false) { | |
| 122 | + $grupos = pegaDados ( "SELECT id_grupo,nome from ".$esquemaadmin."i3geousr_grupos order by nome", $dbh, false ); | |
| 123 | + if ($grupos === false) { | |
| 96 | 124 | $dbhw = null; |
| 97 | 125 | $dbh = null; |
| 98 | 126 | header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); |
| 99 | 127 | exit (); |
| 100 | 128 | } |
| 101 | - $o = array (); | |
| 102 | - foreach ( $grupos as $grupo ) { | |
| 103 | - $p = array (); | |
| 104 | - foreach ( $usuarios as $usuario ) { | |
| 105 | - if ($usuario["id_grupo"] == $grupo["id_grupo"]) { | |
| 106 | - $p[$usuario["id_usuario"]] = $usuario; | |
| 107 | - } | |
| 108 | - } | |
| 109 | - $grupo["usuarios"] = $p; | |
| 110 | - $o[] = $grupo; | |
| 111 | - } | |
| 112 | - $usuarios = pegaDados ( "SELECT id_usuario, login, nome_usuario from " . $esquemaadmin . "i3geousr_usuarios WHERE ativo = 1 order by login", $dbh ); | |
| 129 | + $usuarios = pegaDados ( "SELECT id_usuario, nome_usuario FROM ".$esquemaadmin."i3geousr_usuarios WHERE ativo = 1 ORDER BY nome_usuario", dbh, false ); | |
| 113 | 130 | $dbhw = null; |
| 114 | 131 | $dbh = null; |
| 115 | 132 | if ($usuarios === false) { |
| 116 | 133 | header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); |
| 117 | - exit(); | |
| 134 | + exit (); | |
| 118 | 135 | } |
| 136 | + | |
| 119 | 137 | retornaJSON ( array ( |
| 120 | - "grupos" => $o, | |
| 138 | + "grupos" => $grupos, | |
| 121 | 139 | "usuarios" => $usuarios |
| 122 | 140 | ) ); |
| 123 | 141 | break; |
| ... | ... | @@ -196,9 +214,7 @@ function excluir($id_grupo, $dbhw) { |
| 196 | 214 | if ($resultado === false) { |
| 197 | 215 | return false; |
| 198 | 216 | } |
| 199 | - if ($resultado === true) { | |
| 200 | - $resultado = excluirUsuarios ( $id_grupo, $dbhw ); | |
| 201 | - } | |
| 217 | + $resultado = excluirUsuarios ( $id_grupo, $dbhw ); | |
| 202 | 218 | return $resultado; |
| 203 | 219 | } |
| 204 | 220 | function excluirUsuarios($id_grupo, $dbhw) { | ... | ... |
admin1/usuarios/grupos/index.js
| ... | ... | @@ -27,6 +27,8 @@ i3GEOadmin.gruposusuarios = { |
| 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.gruposusuarios.ondeLista = onde; |
| 32 | 34 | i3GEOadmin.gruposusuarios.lista(); |
| ... | ... | @@ -51,7 +53,7 @@ Obtém a lista de grupos |
| 51 | 53 | var templateUsuarios = $("#templateInputUsuarios").html(); |
| 52 | 54 | //template do form de cada operacao |
| 53 | 55 | var templateLista = $("#templateLista").html(); |
| 54 | - templateLista = templateLista.replace("{{{templateFormLista}}}",$("#templateFormLista").html()); | |
| 56 | + //templateLista = templateLista.replace("{{{templateFormLista}}}",$("#templateFormLista").html()); | |
| 55 | 57 | //lista todas as usuarios |
| 56 | 58 | var html = Mustache.to_html( |
| 57 | 59 | "{{#data}}" + templateLista + "{{/data}}", |
| ... | ... | @@ -61,7 +63,7 @@ Obtém a lista de grupos |
| 61 | 63 | { |
| 62 | 64 | "data": json["grupos"], |
| 63 | 65 | "onExcluir": "i3GEOadmin.gruposusuarios.excluirDialogo",//funcao |
| 64 | - "onSalvar": "i3GEOadmin.gruposusuarios.salvarDialogo",//funcao | |
| 66 | + "onEditar": "i3GEOadmin.gruposusuarios.editarDialogo",//funcao | |
| 65 | 67 | "excluir": i3GEOadmin.gruposusuarios.dicionario.excluir, |
| 66 | 68 | "inputUsuarios": function(){ |
| 67 | 69 | //marca os checkbox |
| ... | ... | @@ -136,6 +138,59 @@ Obtém a lista de grupos |
| 136 | 138 | i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); |
| 137 | 139 | }); |
| 138 | 140 | }, |
| 141 | + editarDialogo: function(id){ | |
| 142 | + i3GEOadmin.core.fechaModalGeral(); | |
| 143 | + i3GEOadmin.core.modalAguarde(true); | |
| 144 | + $.post( | |
| 145 | + "exec.php?funcao=listaunico", | |
| 146 | + "id_grupo=" + id | |
| 147 | + ) | |
| 148 | + .done( | |
| 149 | + function(data, status){ | |
| 150 | + var json = jQuery.parseJSON(data); | |
| 151 | + var html = Mustache.to_html( | |
| 152 | + "{{#data}}" + $("#templateFormLista").html() + "{{/data}}", | |
| 153 | + $.extend( | |
| 154 | + {}, | |
| 155 | + i3GEOadmin.gruposusuarios.dicionario, | |
| 156 | + { | |
| 157 | + "data": json["grupo"], | |
| 158 | + "onExcluir": "i3GEOadmin.gruposusuarios.excluirDialogo",//funcao | |
| 159 | + "onEditar": "i3GEOadmin.gruposusuarios.salvarDialogo",//funcao | |
| 160 | + "excluir": i3GEOadmin.gruposusuarios.dicionario.excluir, | |
| 161 | + "inputUsuarios": function(){ | |
| 162 | + //marca os checkbox | |
| 163 | + var p = this.usuarios; | |
| 164 | + $(json["usuarios"]).each( | |
| 165 | + function(i,el){ | |
| 166 | + if(p && el.id_usuario && p[el.id_usuario]){ | |
| 167 | + json["usuarios"][i]["checked"] = "checked"; | |
| 168 | + } | |
| 169 | + else{ | |
| 170 | + json["usuarios"][i]["checked"] = ""; | |
| 171 | + } | |
| 172 | + } | |
| 173 | + ); | |
| 174 | + return Mustache.to_html( | |
| 175 | + "{{#data}}" + $("#templateInputUsuarios").html() + "{{/data}}", | |
| 176 | + { | |
| 177 | + "data":json["usuarios"] | |
| 178 | + } | |
| 179 | + ); | |
| 180 | + } | |
| 181 | + } | |
| 182 | + ) | |
| 183 | + ); | |
| 184 | + i3GEOadmin.core.abreModalGeral(html); | |
| 185 | + } | |
| 186 | + ) | |
| 187 | + .fail( | |
| 188 | + function(data){ | |
| 189 | + i3GEOadmin.core.modalAguarde(false); | |
| 190 | + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); | |
| 191 | + } | |
| 192 | + ); | |
| 193 | + }, | |
| 139 | 194 | adicionaDialogo: function(){ |
| 140 | 195 | i3GEOadmin.core.abreModalGeral(i3GEOadmin.gruposusuarios.formAdiciona); |
| 141 | 196 | }, |
| ... | ... | @@ -193,17 +248,18 @@ Obtém a lista de grupos |
| 193 | 248 | ); |
| 194 | 249 | }, |
| 195 | 250 | salvarDialogo: function(id){ |
| 251 | + i3GEOadmin.gruposusuarios.parametrosSalvar = $("#form-edicao-" + id).serialize(); | |
| 196 | 252 | var hash = { |
| 197 | 253 | "mensagem": i3GEOadmin.gruposusuarios.dicionario.confirma, |
| 198 | 254 | "onBotao1": "i3GEOadmin.gruposusuarios.salvar('"+id+"')", |
| 199 | 255 | "botao1": i3GEOadmin.gruposusuarios.dicionario.sim, |
| 200 | - "onBotao2": "i3GEOadmin.core.fechaModalConfirma();", | |
| 256 | + "onBotao2": "i3GEOadmin.gruposusuarios.parametrosSalvar = '';i3GEOadmin.core.fechaModalConfirma();", | |
| 201 | 257 | "botao2": i3GEOadmin.gruposusuarios.dicionario.nao |
| 202 | 258 | }; |
| 203 | 259 | i3GEOadmin.core.abreModalConfirma(hash); |
| 204 | 260 | }, |
| 205 | 261 | salvar: function(id){ |
| 206 | - var parametros = $("#form-" + id + " form").serialize(); | |
| 262 | + var parametros = i3GEOadmin.gruposusuarios.parametrosSalvar; | |
| 207 | 263 | i3GEOadmin.core.fechaModalGeral(); |
| 208 | 264 | i3GEOadmin.core.modalAguarde(true); |
| 209 | 265 | $.post( |
| ... | ... | @@ -212,6 +268,7 @@ Obtém a lista de grupos |
| 212 | 268 | ) |
| 213 | 269 | .done( |
| 214 | 270 | function(data, status){ |
| 271 | + i3GEOadmin.gruposusuarios.parametrosSalvar = ""; | |
| 215 | 272 | i3GEOadmin.core.modalAguarde(false); |
| 216 | 273 | i3GEOadmin.core.iconeAguarde(i3GEOadmin.gruposusuarios.ondeLista); |
| 217 | 274 | i3GEOadmin.gruposusuarios.lista(); |
| ... | ... | @@ -219,6 +276,7 @@ Obtém a lista de grupos |
| 219 | 276 | ) |
| 220 | 277 | .fail( |
| 221 | 278 | function(data){ |
| 279 | + i3GEOadmin.gruposusuarios.parametrosSalvar = ""; | |
| 222 | 280 | i3GEOadmin.core.modalAguarde(false); |
| 223 | 281 | i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); |
| 224 | 282 | } | ... | ... |
admin1/usuarios/grupos/index.php
| ... | ... | @@ -60,7 +60,7 @@ include "../../head.php"; |
| 60 | 60 | <option value="form-{{id_grupo}}">{{{nome}}}</option> |
| 61 | 61 | </script> |
| 62 | 62 | <script id="templateFormLista" type="x-tmpl-mustache"> |
| 63 | -<form style="" action="#" onsubmit="{{onSalvar}}('{{id_grupo}}');return false;" onchange="this.style.boxShadow='2px 2px 5px 0 #009688';" class="form-horizontal" role="form" method="post" > | |
| 63 | +<form id="form-edicao-{{id_grupo}}" style="" action="#" onsubmit="{{onSalvar}}('{{id_grupo}}');return false;" onchange="this.style.boxShadow='2px 2px 5px 0 #009688';" class="form-horizontal" role="form" method="post" > | |
| 64 | 64 | <div class="row"> |
| 65 | 65 | <div class="col-md-4" style="max-height: 230px; overflow-y: auto;"> |
| 66 | 66 | <h4> {{{usuariosv}}}</h4> |
| ... | ... | @@ -89,15 +89,17 @@ include "../../head.php"; |
| 89 | 89 | </form> |
| 90 | 90 | </script> |
| 91 | 91 | <script id="templateLista" type="x-tmpl-mustache"> |
| 92 | -<div class="panel panel-default" id="form-{{id_grupo}}"> | |
| 93 | - <div class="panel-heading icon" role="tab"> | |
| 94 | - <h3 class="panel-title {{escondido}}"> | |
| 95 | - <a href="javascript:void(0)" onclick="{{onExcluir}}('{{id_grupo}}')" class="btn btn-danger btn-fab btn-fab-mini" role="button"> | |
| 96 | - <i class="material-icons">delete_forever</i> | |
| 92 | +<div class="list-group-item" id="form-{{id_grupo}}"> | |
| 93 | + <div class="row-content"> | |
| 94 | + <h3 class="list-group-item-heading {{escondido}}"> | |
| 95 | + {{{nome}}} | |
| 96 | + <a href="javascript:void(0)" onclick="{{onEditar}}('{{id_grupo}}')" class="btn btn-danger btn-fab btn-fab-mini pull-right" role="button" aria-expanded="false" > | |
| 97 | + <i class="material-icons md-18">edit</i> | |
| 98 | + </a> | |
| 99 | + <span class="pull-right"> </span> | |
| 100 | + <a href="javascript:void(0)" onclick="{{onExcluir}}('{{id_grupo}}')" class="btn btn-danger btn-fab btn-fab-mini pull-right" role="button"> | |
| 101 | + <i class="material-icons md-18">delete_forever</i> | |
| 97 | 102 | </a> |
| 98 | - | |
| 99 | - <a class="collapsed in" role="button" data-toggle="collapse" href="#body-form-{{id_grupo}}" | |
| 100 | - aria-expanded="false" aria-controls="#body-form-{{id_grupo}}"> {{{nome}}} </a> | |
| 101 | 103 | </h3> |
| 102 | 104 | </div> |
| 103 | 105 | <div class="panel-body panel-collapse collapse" id="body-form-{{id_grupo}}"> |
| ... | ... | @@ -108,7 +110,7 @@ include "../../head.php"; |
| 108 | 110 | <script id="templateInputUsuarios" type="x-tmpl-mustache"> |
| 109 | 111 | <div class="checkbox"> |
| 110 | 112 | <label> |
| 111 | - <input type="checkbox" {{checked}} name="id_usuario-{{{id_usuario}}}" /> <abbr title="{{{nome_usuario}}}">{{{login}}}</abbr> | |
| 113 | + <input type="checkbox" {{checked}} name="id_usuario-{{{id_usuario}}}" /> <abbr title="{{{nome_usuario}}}">{{{nome_usuario}}}</abbr> | |
| 112 | 114 | </label> |
| 113 | 115 | </div> |
| 114 | 116 | </script> | ... | ... |