Commit bd913fd7a3faf3f27886ac6055239fef547d2d58

Authored by Edmar Moretti
1 parent 6b78fd2b

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
... ... @@ -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 &quot;../../head.php&quot;;
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">&nbsp;&nbsp;</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   - &nbsp;
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 &quot;../../head.php&quot;;
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>
... ...