Commit 5c2cc827247faacf6edec08b56be9461ead034a3
1 parent
f0b698f2
Exists in
master
and in
7 other branches
Reformulação do formulário de edição de grupos de um menu da árvore do catálogo
Showing
4 changed files
with
183 additions
and
172 deletions
Show diff stats
admin/admin.db
No preview for this file type
admin1/catalogo/menus/grupos/exec.php
... | ... | @@ -55,7 +55,7 @@ testaSafeNumerico([$id_menu,$id_n1, $id_grupo]); |
55 | 55 | $funcao = strtoupper ( $funcao ); |
56 | 56 | switch ($funcao) { |
57 | 57 | case "ORDENA" : |
58 | - $ordem = explode(" ",$_POST["ordem"]); | |
58 | + $ordem = explode(" ",$_POST["novaordem"]); | |
59 | 59 | //verifica se existe a mesma quantidade de registros no banco e na lista de ids |
60 | 60 | $dados = pegaDados ( "SELECT ordem from ".$esquemaadmin."i3geoadmin_n1 WHERE id_menu = $id_menu", $dbh, false ); |
61 | 61 | if(count($dados) != count($ordem)){ |
... | ... | @@ -105,7 +105,7 @@ switch ($funcao) { |
105 | 105 | exit (); |
106 | 106 | break; |
107 | 107 | case "LISTAUNICO" : |
108 | - $dados = pegaDados("select * from ".$esquemaadmin."i3geoadmin_n1 LEFT JOIN ".$esquemaadmin."i3geoadmin_grupos ON i3geoadmin_n1.id_grupo = i3geoadmin_grupos.id_grupo where id_n1 = $id_n1")); | |
108 | + $dados = pegaDados("select * from ".$esquemaadmin."i3geoadmin_n1 LEFT JOIN ".$esquemaadmin."i3geoadmin_grupos ON i3geoadmin_n1.id_grupo = i3geoadmin_grupos.id_grupo where id_n1 = $id_n1"); | |
109 | 109 | if ($dados === false) { |
110 | 110 | $dbhw = null; |
111 | 111 | $dbh = null; | ... | ... |
admin1/catalogo/menus/grupos/index.js
... | ... | @@ -191,106 +191,6 @@ i3GEOadmin.grupos = { |
191 | 191 | } |
192 | 192 | ); |
193 | 193 | }, |
194 | - listaNos: function(dados){ | |
195 | - var grupos = i3GEOadmin.grupos.listaTiposGrupos; | |
196 | - var templateNos = $("#templateNos").html(); | |
197 | - var html = Mustache.to_html( | |
198 | - "{{#data}}" + templateNos + "{{/data}}", | |
199 | - $.extend( | |
200 | - {}, | |
201 | - i3GEOadmin.grupos.dicionario, | |
202 | - { | |
203 | - "data": dados, | |
204 | - "opcoesPerfil": i3GEOadmin.grupos.opcoesPerfil, | |
205 | - "onExcluir": "i3GEOadmin.grupos.excluirNoDialogo",//funcao | |
206 | - "onSalvar": "i3GEOadmin.grupos.salvarNoDialogo",//funcao | |
207 | - "opcoesPublicado": function(){ | |
208 | - var hash = {}; | |
209 | - hash[this.publicado + "-sel"] = "selected"; | |
210 | - hash["sim"] = i3GEOadmin.grupos.dicionario.sim; | |
211 | - hash["nao"] = i3GEOadmin.grupos.dicionario.nao; | |
212 | - return Mustache.to_html( | |
213 | - $("#templateOpcoesPublicado").html(), | |
214 | - hash | |
215 | - ); | |
216 | - }, | |
217 | - "opcoesNo": function(){ | |
218 | - var p = this.id_grupo; | |
219 | - var id = ""; | |
220 | - //marca o selecionado | |
221 | - $(grupos).each( | |
222 | - function(i,el){ | |
223 | - if(el.id_grupo == p){ | |
224 | - grupos[i]["selected"] = "selected"; | |
225 | - id = i; | |
226 | - } | |
227 | - else{ | |
228 | - grupos[i]["selected"] = ""; | |
229 | - } | |
230 | - } | |
231 | - ); | |
232 | - var html = '<option value="">---</option>' + Mustache.to_html( | |
233 | - "{{#data}}" + $("#templateOpcoesNo").html() + "{{/data}}", | |
234 | - {"data":grupos} | |
235 | - ); | |
236 | - //volta ao normal | |
237 | - grupos[id]["selected"] = ""; | |
238 | - return html; | |
239 | - } | |
240 | - } | |
241 | - ) | |
242 | - ); | |
243 | - i3GEOadmin.grupos.ondeNos.html(html); | |
244 | - //valor do filtro atual | |
245 | - var filtro = i3GEOadmin.core.valorFiltro(); | |
246 | - //filtro | |
247 | - html = Mustache.to_html( | |
248 | - "{{#data}}" + $("#templateFiltro").html() + "{{/data}}", | |
249 | - {"data":dados} | |
250 | - ); | |
251 | - $("#filtro").html("<option value='' >Todos</option>" + html); | |
252 | - $("#filtro").combobox(); | |
253 | - $(".ui-autocomplete-input").attr( "title", "Filtro" ); | |
254 | - | |
255 | - if(filtro != ""){ | |
256 | - i3GEOadmin.core.defineFiltro(filtro); | |
257 | - i3GEOadmin.core.filtra(i3GEOadmin.core.pegaFiltro()); | |
258 | - } | |
259 | - if(i3GEOadmin.grupos.formAdicionaNo == ""){ | |
260 | - html = Mustache.to_html( | |
261 | - templateNos, | |
262 | - $.extend( | |
263 | - {}, | |
264 | - i3GEOadmin.grupos.dicionario, | |
265 | - { | |
266 | - "id_n1": "modal", | |
267 | - "escondido": "hidden", | |
268 | - "excluir": i3GEOadmin.grupos.dicionario.cancelar, | |
269 | - "opcoesPerfil": i3GEOadmin.grupos.opcoesPerfil, | |
270 | - "onExcluir": "i3GEOadmin.core.fechaModalGeral",//funcao | |
271 | - "onSalvar": "i3GEOadmin.grupos.adicionaNo",//funcao | |
272 | - "opcoesPublicado": function(){ | |
273 | - var hash = {}; | |
274 | - hash["sim"] = i3GEOadmin.grupos.dicionario.sim; | |
275 | - hash["nao"] = i3GEOadmin.grupos.dicionario.nao; | |
276 | - return Mustache.to_html( | |
277 | - $("#templateOpcoesPublicado").html(), | |
278 | - hash | |
279 | - ); | |
280 | - }, | |
281 | - "opcoesNo": function(){ | |
282 | - var html = '<option value="">---</option>' + Mustache.to_html( | |
283 | - "{{#data}}" + $("#templateOpcoesNo").html() + "{{/data}}", | |
284 | - {"data":grupos} | |
285 | - ); | |
286 | - return html; | |
287 | - } | |
288 | - } | |
289 | - ) | |
290 | - ); | |
291 | - i3GEOadmin.grupos.formAdicionaNo = html; | |
292 | - } | |
293 | - }, | |
294 | 194 | adicionaTemaDialogo: function(){ |
295 | 195 | i3GEOadmin.core.abreModalGeral(i3GEOadmin.grupos.formAdicionaRaiz); |
296 | 196 | }, |
... | ... | @@ -382,13 +282,145 @@ i3GEOadmin.grupos = { |
382 | 282 | } |
383 | 283 | ); |
384 | 284 | }, |
285 | + listaNos: function(dados){ | |
286 | + var grupos = i3GEOadmin.grupos.listaTiposGrupos; | |
287 | + var html = Mustache.to_html( | |
288 | + "{{#data}}" + $("#templateNos").html() + "{{/data}}", | |
289 | + $.extend( | |
290 | + {}, | |
291 | + i3GEOadmin.grupos.dicionario, | |
292 | + { | |
293 | + "data": dados, | |
294 | + "opcoesPerfil": i3GEOadmin.grupos.opcoesPerfil, | |
295 | + "onExcluir": "i3GEOadmin.grupos.excluirNoDialogo",//funcao | |
296 | + "onEditar": "i3GEOadmin.grupos.editarNoDialogo" | |
297 | + } | |
298 | + ) | |
299 | + ); | |
300 | + i3GEOadmin.grupos.ondeNos.html(html); | |
301 | + //valor do filtro atual | |
302 | + var filtro = i3GEOadmin.core.valorFiltro(); | |
303 | + //filtro | |
304 | + html = Mustache.to_html( | |
305 | + "{{#data}}" + $("#templateFiltro").html() + "{{/data}}", | |
306 | + {"data":dados} | |
307 | + ); | |
308 | + $("#filtro").html("<option value='' >Todos</option>" + html); | |
309 | + $("#filtro").combobox(); | |
310 | + $(".ui-autocomplete-input").attr( "title", "Filtro" ); | |
311 | + | |
312 | + if(filtro != ""){ | |
313 | + i3GEOadmin.core.defineFiltro(filtro); | |
314 | + i3GEOadmin.core.filtra(i3GEOadmin.core.pegaFiltro()); | |
315 | + } | |
316 | + if(i3GEOadmin.grupos.formAdicionaNo == ""){ | |
317 | + html = Mustache.to_html( | |
318 | + $("#templateFormNos").html(), | |
319 | + $.extend( | |
320 | + {}, | |
321 | + i3GEOadmin.grupos.dicionario, | |
322 | + { | |
323 | + "id_n1": "modal", | |
324 | + "escondido": "hidden", | |
325 | + "excluir": i3GEOadmin.grupos.dicionario.cancelar, | |
326 | + "opcoesPerfil": i3GEOadmin.grupos.opcoesPerfil, | |
327 | + "onExcluir": "i3GEOadmin.core.fechaModalGeral",//funcao | |
328 | + "onSalvar": "i3GEOadmin.grupos.adicionaNo",//funcao | |
329 | + "opcoesPublicado": function(){ | |
330 | + var hash = {}; | |
331 | + hash["sim"] = i3GEOadmin.grupos.dicionario.sim; | |
332 | + hash["nao"] = i3GEOadmin.grupos.dicionario.nao; | |
333 | + return Mustache.to_html( | |
334 | + $("#templateOpcoesPublicado").html(), | |
335 | + hash | |
336 | + ); | |
337 | + }, | |
338 | + "opcoesNo": function(){ | |
339 | + var html = '<option value="">---</option>' + Mustache.to_html( | |
340 | + "{{#data}}" + $("#templateOpcoesNo").html() + "{{/data}}", | |
341 | + {"data":grupos} | |
342 | + ); | |
343 | + return html; | |
344 | + } | |
345 | + } | |
346 | + ) | |
347 | + ); | |
348 | + i3GEOadmin.grupos.formAdicionaNo = html; | |
349 | + } | |
350 | + }, | |
351 | + editarNoDialogo: function(id){ | |
352 | + i3GEOadmin.core.fechaModalGeral(); | |
353 | + i3GEOadmin.core.modalAguarde(true); | |
354 | + $.post( | |
355 | + "exec.php?funcao=listaunico", | |
356 | + "id_n1=" + id | |
357 | + ) | |
358 | + .done( | |
359 | + function(data, status){ | |
360 | + var json = jQuery.parseJSON(data); | |
361 | + var html = Mustache.to_html( | |
362 | + "{{#data}}" + $("#templateFormNos").html() + "{{/data}}", | |
363 | + $.extend( | |
364 | + {}, | |
365 | + i3GEOadmin.grupos.dicionario, | |
366 | + { | |
367 | + "data": json, | |
368 | + "opcoesPerfil": i3GEOadmin.grupos.opcoesPerfil, | |
369 | + "onExcluir": "i3GEOadmin.grupos.excluirNoDialogo",//funcao | |
370 | + "onSalvar": "i3GEOadmin.grupos.salvarNoDialogo",//funcao | |
371 | + "opcoesPublicado": function(){ | |
372 | + var hash = {}; | |
373 | + hash[this.publicado + "-sel"] = "selected"; | |
374 | + hash["sim"] = i3GEOadmin.grupos.dicionario.sim; | |
375 | + hash["nao"] = i3GEOadmin.grupos.dicionario.nao; | |
376 | + return Mustache.to_html( | |
377 | + $("#templateOpcoesPublicado").html(), | |
378 | + hash | |
379 | + ); | |
380 | + }, | |
381 | + "opcoesNo": function(){ | |
382 | + var p = this.id_grupo; | |
383 | + var id = ""; | |
384 | + //marca o selecionado | |
385 | + var grupos = i3GEOadmin.grupos.listaTiposGrupos; | |
386 | + $(grupos).each( | |
387 | + function(i,el){ | |
388 | + if(el.id_grupo == p){ | |
389 | + grupos[i]["selected"] = "selected"; | |
390 | + id = i; | |
391 | + } | |
392 | + else{ | |
393 | + grupos[i]["selected"] = ""; | |
394 | + } | |
395 | + } | |
396 | + ); | |
397 | + var html = '<option value="">---</option>' + Mustache.to_html( | |
398 | + "{{#data}}" + $("#templateOpcoesNo").html() + "{{/data}}", | |
399 | + {"data":grupos} | |
400 | + ); | |
401 | + //volta ao normal | |
402 | + grupos[id]["selected"] = ""; | |
403 | + return html; | |
404 | + } | |
405 | + } | |
406 | + ) | |
407 | + ); | |
408 | + i3GEOadmin.core.abreModalGeral(html); | |
409 | + } | |
410 | + ) | |
411 | + .fail( | |
412 | + function(data){ | |
413 | + i3GEOadmin.core.modalAguarde(false); | |
414 | + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); | |
415 | + } | |
416 | + ); | |
417 | + }, | |
385 | 418 | adicionaNoDialogo: function(){ |
386 | 419 | i3GEOadmin.core.abreModalGeral(i3GEOadmin.grupos.formAdicionaNo); |
387 | - $("#body-formNo-modal").collapse('show'); | |
388 | 420 | }, |
389 | 421 | // os parametros sao obtidos do formulario aberto do modal |
390 | 422 | adicionaNo: function(){ |
391 | - var parametros = $("#formNo-modal form").serialize(); | |
423 | + var parametros = $("#form-edicao-no-modal").serialize(); | |
392 | 424 | i3GEOadmin.core.fechaModalGeral(); |
393 | 425 | i3GEOadmin.core.modalAguarde(true); |
394 | 426 | $.post( |
... | ... | @@ -440,17 +472,18 @@ i3GEOadmin.grupos = { |
440 | 472 | ); |
441 | 473 | }, |
442 | 474 | salvarNoDialogo: function(id){ |
475 | + i3GEOadmin.grupos.parametrosSalvar = $("#form-edicao-no-" + id).serialize(); | |
443 | 476 | var hash = { |
444 | 477 | "mensagem": i3GEOadmin.grupos.dicionario.confirma, |
445 | 478 | "onBotao1": "i3GEOadmin.grupos.salvarNo('"+id+"')", |
446 | 479 | "botao1": i3GEOadmin.grupos.dicionario.sim, |
447 | - "onBotao2": "i3GEOadmin.core.fechaModalConfirma();", | |
480 | + "onBotao2": "i3GEOadmin.grupos.parametrosSalvar = '';i3GEOadmin.core.fechaModalConfirma();", | |
448 | 481 | "botao2": i3GEOadmin.grupos.dicionario.nao |
449 | 482 | }; |
450 | 483 | i3GEOadmin.core.abreModalConfirma(hash); |
451 | 484 | }, |
452 | 485 | salvarNo: function(id){ |
453 | - var parametros = $("#formNo-" + id + " form").serialize(); | |
486 | + var parametros = i3GEOadmin.grupos.parametrosSalvar; | |
454 | 487 | i3GEOadmin.core.fechaModalGeral(); |
455 | 488 | i3GEOadmin.core.modalAguarde(true); |
456 | 489 | $.post( |
... | ... | @@ -459,6 +492,7 @@ i3GEOadmin.grupos = { |
459 | 492 | ) |
460 | 493 | .done( |
461 | 494 | function(data, status){ |
495 | + i3GEOadmin.grupos.parametrosSalvar = ''; | |
462 | 496 | i3GEOadmin.core.modalAguarde(false); |
463 | 497 | i3GEOadmin.core.iconeAguarde(i3GEOadmin.grupos.ondeNos); |
464 | 498 | i3GEOadmin.grupos.lista(); |
... | ... | @@ -466,6 +500,7 @@ i3GEOadmin.grupos = { |
466 | 500 | ) |
467 | 501 | .fail( |
468 | 502 | function(data){ |
503 | + i3GEOadmin.grupos.parametrosSalvar = ''; | |
469 | 504 | i3GEOadmin.core.modalAguarde(false); |
470 | 505 | i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); |
471 | 506 | } | ... | ... |
admin1/catalogo/menus/grupos/index.php
... | ... | @@ -170,77 +170,53 @@ $nome_menu = filter_var ( $_GET ["nome_menu"], FILTER_SANITIZE_STRING ); |
170 | 170 | </script> |
171 | 171 | |
172 | 172 | <script id="templateFormNos" type="x-tmpl-mustache"> |
173 | -<div class="panel panel-default" data-id="{{id_n1}}" id="formNo-{{id_n1}}"> | |
174 | - <div class="panel-heading icon" role="tab"> | |
175 | - <h3 class="panel-title" {{escondido}}> | |
176 | - <a href="javascript:void(0)" onclick="{{onExcluir}}('{{id_n1}}')" class="btn btn-danger btn-fab btn-fab-mini" role="button"> | |
177 | - <i class="material-icons">delete_forever</i> | |
178 | - </a> | |
179 | - | |
180 | - <a class="collapsed in" role="button" data-toggle="collapse" href="#body-formNo-{{id_n1}}" | |
181 | - aria-expanded="false" aria-controls="#body-formNo-{{id_n1}}"> {{{nome_grupo}}} | |
182 | - <i class="material-icons move" style="color: gray; display:none;">swap_vert</i> | |
183 | - </a> | |
184 | - </h3> | |
185 | - </div> | |
186 | - <div class="panel-body panel-collapse collapse" id="body-formNo-{{id_n1}}"> | |
187 | - <form style="" action="#" onsubmit="{{onSalvar}}('{{id_n1}}');return false;" onchange="this.style.boxShadow='2px 2px 5px 0 #009688';" class="form-horizontal" role="form" method="post" > | |
188 | - <div class="row"> | |
189 | - <div class="col-md-12"> | |
190 | - <div class="form-group form-group-lg"> | |
191 | - <label class="col-md-4 control-label" for="id_grupo">{{{nomeTxt}}}</label> | |
192 | - <div class="col-md-6"> | |
193 | - <select title="{{{nomeTxt}}}" class="form-control" name="id_grupo"> | |
194 | - {{{opcoesNo}}} | |
195 | - </select> | |
196 | - </div> | |
197 | - <div class="col-md-2"> | |
198 | - <a onclick="i3GEOadmin.grupos.editarListaDeGrupos('{{id_n1}}','{{{nome_grupo}}}');" href="javascript:void(0)" | |
199 | - class="btn btn-primary btn-xs" role="button">{{{editarLista}}}</a> | |
200 | - </div> | |
201 | - </div> | |
202 | - <div class="form-group form-group-lg"> | |
203 | - <label class="col-md-4 control-label" for="ordem">{{{ordemTxt}}}</label> | |
204 | - <div class="col-md-8"> | |
205 | - <input title="{{{ordemTxt}}}" type="text" value="{{{ordem}}}" class="form-control" name="ordem"> | |
206 | - </div> | |
207 | - </div> | |
208 | - <div class="form-group form-group-lg"> | |
209 | - <label class="col-md-4 control-label" for="publicado">{{{publicadoTxt}}}</label> | |
210 | - <div class="col-md-8"> | |
211 | - <select title="{{{publicadoTxt}}}" name="publicado" class="form-control"> | |
212 | - {{{opcoesPublicado}}} | |
213 | - </select> | |
214 | - </div> | |
215 | - </div> | |
216 | - <div class="form-group form-group-lg"> | |
217 | - <label class="col-md-4 control-label" for="perfil">{{{perfis}}}</label> | |
218 | - <div class="col-md-4"> | |
219 | - <input title="{{{perfis}}}" id="perfil_no-{{id_n1}}" type="text" value="{{{n1_perfil}}}" class="form-control" name="n1_perfil"> | |
220 | - </div> | |
221 | - <div class="col-md-4"> | |
222 | - <select title="{{{perfis}}}" class="form-control" onchange="i3GEOadmin.grupos.addInput('perfil_no-{{id_n1}}',this.value)"> | |
223 | - {{{opcoesPerfil}}} | |
224 | - </select> | |
225 | - </div> | |
226 | - </div> | |
173 | +<form id="form-edicao-no-{{id_n1}}" style="" action="#" onsubmit="{{onSalvar}}('{{id_n1}}');return false;" onchange="this.style.boxShadow='2px 2px 5px 0 #009688';" class="form-horizontal" role="form" method="post" > | |
174 | + <div class="row"> | |
175 | + <div class="col-md-12"> | |
176 | + <div class="form-group form-group-lg"> | |
177 | + <label class="col-md-4 control-label" for="id_grupo">{{{nomeTxt}}}</label> | |
178 | + <div class="col-md-6"> | |
179 | + <select title="{{{nomeTxt}}}" class="form-control" name="id_grupo"> | |
180 | + {{{opcoesNo}}} | |
181 | + </select> | |
182 | + </div> | |
183 | + <div class="col-md-2"> | |
184 | + <a onclick="i3GEOadmin.grupos.editarListaDeGrupos('{{id_n1}}','{{{nome_grupo}}}');" href="javascript:void(0)" | |
185 | + class="btn btn-primary btn-xs" role="button">{{{editarLista}}}</a> | |
186 | + </div> | |
187 | + </div> | |
188 | + <div class="form-group form-group-lg"> | |
189 | + <label class="col-md-4 control-label" for="ordem">{{{ordemTxt}}}</label> | |
190 | + <div class="col-md-8"> | |
191 | + <input title="{{{ordemTxt}}}" type="text" value="{{{ordem}}}" class="form-control" name="ordem"> | |
192 | + </div> | |
193 | + </div> | |
194 | + <div class="form-group form-group-lg"> | |
195 | + <label class="col-md-4 control-label" for="publicado">{{{publicadoTxt}}}</label> | |
196 | + <div class="col-md-8"> | |
197 | + <select title="{{{publicadoTxt}}}" name="publicado" class="form-control"> | |
198 | + {{{opcoesPublicado}}} | |
199 | + </select> | |
200 | + </div> | |
201 | + </div> | |
202 | + <div class="form-group form-group-lg"> | |
203 | + <label class="col-md-4 control-label" for="perfil">{{{perfis}}}</label> | |
204 | + <div class="col-md-4"> | |
205 | + <input title="{{{perfis}}}" id="perfil_no-{{id_n1}}" type="text" value="{{{n1_perfil}}}" class="form-control" name="n1_perfil"> | |
206 | + </div> | |
207 | + <div class="col-md-4"> | |
208 | + <select title="{{{perfis}}}" class="form-control" onchange="i3GEOadmin.grupos.addInput('perfil_no-{{id_n1}}',this.value)"> | |
209 | + {{{opcoesPerfil}}} | |
210 | + </select> | |
227 | 211 | </div> |
228 | 212 | </div> |
229 | - <div class="pull-right"> | |
230 | - <button type="submit" class="btn btn-primary" role="button" style="color:#008579;">{{salvar}}</button> | |
231 | 213 | </div> |
232 | - </form> | |
233 | - | |
234 | 214 | </div> |
235 | - <div class="panel-footer {{escondido}}" style="padding-top: 0px; padding-bottom: 0px;"> | |
236 | - <div class="pull-right"> | |
237 | - <button style="color:#007a6f;" onclick="i3GEOadmin.grupos.editarSubGrupos('{{id_n1}}','{{{nome_grupo}}}')" class="btn btn-primary btn-xs" style="margin-top: 2px; margin-bottom: 2px;"> | |
238 | - <i class="material-icons">folder_open</i> {{{editarSubgrupos}}} | |
239 | - </button> | |
240 | - </div> | |
241 | - <div class="clearfix"></div> | |
215 | + <div class="pull-right"> | |
216 | + <button type="submit" class="btn btn-primary" role="button" style="color:#008579;">{{salvar}}</button> | |
242 | 217 | </div> |
243 | -</div> | |
218 | + <div class="clearfix"></div> | |
219 | +</form> | |
244 | 220 | </script> |
245 | 221 | <script id="templateOpcoesPublicado" type="x-tmpl-mustache"> |
246 | 222 | <option value="">---</option> | ... | ... |