From a3f950fed8dc839ac58719356776d165f710f09c Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Sun, 23 Oct 2016 22:14:23 -0200 Subject: [PATCH] Conclusão dos formulários de administração da árvore do catálogo de temas --- admin/admin.db | Bin 340992 -> 0 bytes admin1/catalogo/menus/grupos/index.js | 1 + admin1/catalogo/menus/grupos/listadegrupos/index.php | 1 - admin1/catalogo/menus/grupos/subgrupos/exec.php | 19 +++++++++++++++++-- admin1/catalogo/menus/grupos/subgrupos/execraiz.php | 17 +++++++++++++++-- admin1/catalogo/menus/grupos/subgrupos/index.js | 351 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------ admin1/catalogo/menus/grupos/subgrupos/index.php | 223 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------------------- admin1/catalogo/menus/grupos/subgrupos/listadesubgrupos/exec.php | 18 ++++++++++++++++-- admin1/catalogo/menus/grupos/subgrupos/listadesubgrupos/index.js | 47 ++++++++++++++++++++++++++++++++++++++++++----- admin1/catalogo/menus/grupos/subgrupos/listadesubgrupos/index.php | 131 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------- admin1/catalogo/menus/grupos/subgrupos/temas/exec.php | 18 ++++++++++++++++-- admin1/catalogo/menus/grupos/subgrupos/temas/index.js | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------- admin1/catalogo/menus/grupos/subgrupos/temas/index.php | 93 +++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------- admin1/dicionario/arvore.js | 6 +++--- admin1/dicionario/grupos.js | 2 +- admin1/dicionario/menup.js | 10 ++++++++++ admin1/dicionario/menus.js | 2 +- admin1/dicionario/perfis.js | 2 +- admin1/dicionario/subgrupos.js | 16 +++++++++++++--- admin1/head.js | 4 ++++ 20 files changed, 655 insertions(+), 421 deletions(-) diff --git a/admin/admin.db b/admin/admin.db index df59908..9618a4f 100755 Binary files a/admin/admin.db and b/admin/admin.db differ diff --git a/admin1/catalogo/menus/grupos/index.js b/admin1/catalogo/menus/grupos/index.js index 4baf9df..0cdd2dd 100755 --- a/admin1/catalogo/menus/grupos/index.js +++ b/admin1/catalogo/menus/grupos/index.js @@ -59,6 +59,7 @@ i3GEOadmin.grupos = { i3GEOadmin.grupos.opcoesPerfil = opcoesPerfil; i3GEOadmin.grupos.listaTemas = json["temas"]; i3GEOadmin.grupos.listaTiposGrupos = json["tiposGrupos"]; + i3GEOadmin.grupos.listaRaiz(json["raiz"]); i3GEOadmin.grupos.listaNos(json["grupos"]); //torna os paineis ordenavies diff --git a/admin1/catalogo/menus/grupos/listadegrupos/index.php b/admin1/catalogo/menus/grupos/listadegrupos/index.php index 54805f4..a8c2bab 100755 --- a/admin1/catalogo/menus/grupos/listadegrupos/index.php +++ b/admin1/catalogo/menus/grupos/listadegrupos/index.php @@ -104,7 +104,6 @@ $nome_menu = filter_var ( $_GET ["nome_menu"], FILTER_SANITIZE_STRING );
- diff --git a/admin1/catalogo/menus/grupos/subgrupos/exec.php b/admin1/catalogo/menus/grupos/subgrupos/exec.php index 6a5de71..9b2b08a 100755 --- a/admin1/catalogo/menus/grupos/subgrupos/exec.php +++ b/admin1/catalogo/menus/grupos/subgrupos/exec.php @@ -35,7 +35,9 @@ $funcoesEdicao = array ( "ADICIONAR", "ALTERAR", "EXCLUIR", - "ORDENA" + "ORDENA", + "LISTA", + "LISTAUNICO" ); if (in_array ( strtoupper ( $funcao ), $funcoesEdicao )) { if (verificaOperacaoSessao ( "admin/html/arvore" ) === false) { @@ -54,7 +56,7 @@ testaSafeNumerico([$id_n1,$id_n2,$id_menu,$id_subgrupo]); $funcao = strtoupper ( $funcao ); switch ($funcao) { case "ORDENA" : - $ordem = explode(" ",$_POST["ordem"]); + $ordem = explode(" ",$_POST["novaordem"]); //verifica se existe a mesma quantidade de registros no banco e na lista de ids $dados = pegaDados ( "SELECT ordem from ".$esquemaadmin."i3geoadmin_n2 WHERE id_n1 = $id_n1", $dbh, false ); if(count($dados) != count($ordem)){ @@ -103,6 +105,19 @@ switch ($funcao) { retornaJSON ( $dados ); exit (); break; + case "LISTAUNICO" : + $dados = pegaDados("SELECT * from ".$esquemaadmin."i3geoadmin_n2 LEFT JOIN ".$esquemaadmin."i3geoadmin_subgrupos ON i3geoadmin_n2.id_subgrupo = i3geoadmin_subgrupos.id_subgrupo where id_n2 = $id_n2"); + if ($dados === false) { + $dbhw = null; + $dbh = null; + header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); + exit (); + } + $dbhw = null; + $dbh = null; + retornaJSON($dados[0]); + break; + case "LISTA" : $perfis = pegaDados ( "SELECT id_perfil, perfil from ".$esquemaadmin."i3geoadmin_perfis order by lower(perfil)", $dbh, false ); $dbhw = null; diff --git a/admin1/catalogo/menus/grupos/subgrupos/execraiz.php b/admin1/catalogo/menus/grupos/subgrupos/execraiz.php index 47aeff9..9db92da 100755 --- a/admin1/catalogo/menus/grupos/subgrupos/execraiz.php +++ b/admin1/catalogo/menus/grupos/subgrupos/execraiz.php @@ -35,7 +35,8 @@ $funcoesEdicao = array ( "ADICIONAR", "ALTERAR", "EXCLUIR", - "ORDENA" + "ORDENA", + "LISTAUNICO" ); if (in_array ( strtoupper ( $funcao ), $funcoesEdicao )) { if (verificaOperacaoSessao ( "admin/html/arvore" ) === false) { @@ -55,7 +56,7 @@ testaSafeNumerico([$id_n1,$id_menu,$id_tema,$id_raiz]); $funcao = strtoupper ( $funcao ); switch ($funcao) { case "ORDENA" : - $ordem = explode(" ",$_POST["ordem"]); + $ordem = explode(" ",$_POST["novaordem"]); //verifica se existe a mesma quantidade de registros no banco e na lista de ids $dados = pegaDados ( "SELECT ordem from ".$esquemaadmin."i3geoadmin_raiz WHERE nivel = 1 AND id_nivel = $id_n1", $dbh, false ); if(count($dados) != count($ordem)){ @@ -79,6 +80,18 @@ switch ($funcao) { retornaJSON ( $retorna ); exit(); break; + case "LISTAUNICO" : + $dados = pegaDados ( "SELECT id_raiz, id_tema, ordem, perfil from ".$esquemaadmin."i3geoadmin_raiz WHERE id_raiz = $id_raiz ", $dbh, false ); + if ($dados === false) { + $dbhw = null; + $dbh = null; + header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); + exit (); + } + $dbhw = null; + $dbh = null; + retornaJSON ( array("dados"=>$dados[0]) ); + break; case "ADICIONAR" : if (empty ( $id_tema ) || empty ( $id_menu ) || empty ( $id_n1 )) { header ( "HTTP/1.1 500 erro nos parametros" ); diff --git a/admin1/catalogo/menus/grupos/subgrupos/index.js b/admin1/catalogo/menus/grupos/subgrupos/index.js index ac5ceb5..f9cd7ef 100755 --- a/admin1/catalogo/menus/grupos/subgrupos/index.js +++ b/admin1/catalogo/menus/grupos/subgrupos/index.js @@ -32,6 +32,9 @@ i3GEOadmin.subgrupos = { //conteudo html do formulario de adicao na raiz formAdicionaRaiz: "", formAdicionaNo: "", + opcoesPerfil: "", + listaTiposSubGrupos: "", + listaTemas: "", init: function(ondenos,onderaiz){ i3GEOadmin.subgrupos.ondeRaiz = onderaiz; i3GEOadmin.subgrupos.ondeNos = ondenos; @@ -54,9 +57,12 @@ i3GEOadmin.subgrupos = { "{{#data}}" + $("#templateOpcoesPerfil").html() + "{{/data}}", {"data":json["perfis"]} ); - i3GEOadmin.subgrupos.listaRaiz(json["raiz"],opcoesPerfil,json["temas"]); - i3GEOadmin.subgrupos.listaNos(json["subgrupos"],opcoesPerfil,json["tiposSubGrupos"]); + i3GEOadmin.subgrupos.opcoesPerfil = opcoesPerfil; + i3GEOadmin.subgrupos.listaTemas = json["temas"]; + i3GEOadmin.subgrupos.listaTiposSubGrupos = json["tiposSubGrupos"]; + i3GEOadmin.subgrupos.listaRaiz(json["raiz"]); + i3GEOadmin.subgrupos.listaNos(json["subgrupos"]); //torna os paineis ordenavies i3GEOadmin.subgrupos.ondeNos.sortable({ update: function( event, ui ) { @@ -72,7 +78,7 @@ i3GEOadmin.subgrupos = { }); //faz com que seja mostrado um icone de ordenamento no mouseover - $('.panel').hover( + $('.nomeitem').hover( function(){ $(this).find('.move').fadeIn(400); }, @@ -90,7 +96,7 @@ i3GEOadmin.subgrupos = { i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); }); }, - listaRaiz: function(dados,opcoesPerfil,temas){ + listaRaiz: function(dados){ var templateRaiz = $("#templateRaiz").html(); var html = Mustache.to_html( "{{#data}}" + templateRaiz + "{{/data}}", @@ -99,32 +105,9 @@ i3GEOadmin.subgrupos = { i3GEOadmin.subgrupos.dicionario, { "data": dados, - "opcoesPerfil": opcoesPerfil, + "opcoesPerfil": i3GEOadmin.subgrupos.opcoesPerfil, "onExcluir": "i3GEOadmin.subgrupos.excluirTemaDialogo",//funcao - "onSalvar": "i3GEOadmin.subgrupos.salvarTemaDialogo",//funcao - "opcoesTema": function(){ - var p = this.codigo_tema; - var id = ""; - //marca o selecionado - $(temas).each( - function(i,el){ - if(el.codigo_tema == p){ - temas[i]["selected"] = "selected"; - id = i; - } - else{ - temas[i]["selected"] = ""; - } - } - ); - var html = '' + Mustache.to_html( - "{{#data}}" + $("#templateOpcoesTema").html() + "{{/data}}", - {"data":temas} - ); - //volta ao normal - temas[id]["selected"] = ""; - return html; - } + "onEditar": "i3GEOadmin.subgrupos.editarTemaDialogo" } ) ); @@ -133,21 +116,21 @@ i3GEOadmin.subgrupos = { //monta um template para o modal de inclusao de novo tema if(i3GEOadmin.subgrupos.formAdicionaRaiz == ""){ html = Mustache.to_html( - $("#templateRaiz").html(), + $("#templateFormRaiz").html(), $.extend( {}, i3GEOadmin.subgrupos.dicionario, { "id_raiz": "modal", - "escondido": "hidden", - "opcoesPerfil": opcoesPerfil, + "escondido": "", + "opcoesPerfil": i3GEOadmin.subgrupos.opcoesPerfil, "excluir": i3GEOadmin.subgrupos.dicionario.cancelar, "onExcluir": "i3GEOadmin.core.fechaModalGeral",//funcao "onSalvar": "i3GEOadmin.subgrupos.adicionaTemaRaiz",//funcao "opcoesTema": function(){ var html = '' + Mustache.to_html( "{{#data}}" + $("#templateOpcoesTema").html() + "{{/data}}", - {"data":temas} + {"data":i3GEOadmin.subgrupos.listaTemas} ); return html; } @@ -157,112 +140,65 @@ i3GEOadmin.subgrupos = { i3GEOadmin.subgrupos.formAdicionaRaiz = html; } }, - listaNos: function(dados,opcoesPerfil,subgrupos){ - var templateNos = $("#templateNos").html(); - var html = Mustache.to_html( - "{{#data}}" + templateNos + "{{/data}}", - $.extend( - {}, - i3GEOadmin.subgrupos.dicionario, - { - "data": dados, - "opcoesPerfil": opcoesPerfil, - "onExcluir": "i3GEOadmin.subgrupos.excluirNoDialogo",//funcao - "onSalvar": "i3GEOadmin.subgrupos.salvarNoDialogo",//funcao - "opcoesPublicado": function(){ - var hash = {}; - hash[this.publicado + "-sel"] = "selected"; - hash["sim"] = i3GEOadmin.subgrupos.dicionario.sim; - hash["nao"] = i3GEOadmin.subgrupos.dicionario.nao; - return Mustache.to_html( - $("#templateOpcoesPublicado").html(), - hash - ); - }, - "opcoesNo": function(){ - var p = this.id_subgrupo; - var id = ""; - //marca o selecionado - $(subgrupos).each( - function(i,el){ - if(el.id_subgrupo == p){ - subgrupos[i]["selected"] = "selected"; - id = i; - } - else{ - subgrupos[i]["selected"] = ""; + editarTemaDialogo: function(id){ + i3GEOadmin.core.fechaModalGeral(); + i3GEOadmin.core.modalAguarde(true); + $.post( + "execraiz.php?funcao=listaunico", + "id_raiz=" + id + ) + .done( + function(data, status){ + var json = jQuery.parseJSON(data); + var html = Mustache.to_html( + "{{#data}}" + $("#templateFormRaiz").html() + "{{/data}}", + $.extend( + {}, + i3GEOadmin.subgrupos.dicionario, + { + "data": json["dados"], + "opcoesPerfil": i3GEOadmin.subgrupos.opcoesPerfil, + "onExcluir": "i3GEOadmin.subgrupos.excluirTemaDialogo",//funcao + "onSalvar": "i3GEOadmin.subgrupos.salvarTemaDialogo",//funcao + "opcoesTema": function(){ + var p = json["dados"].id_tema; + //marca o selecionado + var temas = i3GEOadmin.subgrupos.listaTemas; + $(temas).each( + function(i,el){ + if(el.id_tema == p){ + temas[i]["selected"] = "selected"; + } + else{ + temas[i]["selected"] = ""; + } + } + ); + var html = '' + Mustache.to_html( + "{{#data}}" + $("#templateOpcoesTema").html() + "{{/data}}", + {"data":temas} + ); + return html; } } - ); - var html = '' + Mustache.to_html( - "{{#data}}" + $("#templateOpcoesNo").html() + "{{/data}}", - {"data":subgrupos} - ); - //volta ao normal - subgrupos[id]["selected"] = ""; - return html; - } - } - ) - ); - i3GEOadmin.subgrupos.ondeNos.html(html); - //valor do filtro atual - var filtro = i3GEOadmin.core.valorFiltro(); - //filtro - html = Mustache.to_html( - "{{#data}}" + $("#templateFiltro").html() + "{{/data}}", - {"data":dados} + ) + ); + i3GEOadmin.core.abreModalGeral(html); + } + ) + .fail( + function(data){ + i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); + } ); - $("#filtro").html("" + html); - $("#filtro").combobox(); - $(".ui-autocomplete-input").attr( "title", "Filtro" ); - - if(filtro != ""){ - i3GEOadmin.core.defineFiltro(filtro); - i3GEOadmin.core.filtra(i3GEOadmin.core.pegaFiltro()); - } - if(i3GEOadmin.subgrupos.formAdicionaNo == ""){ - html = Mustache.to_html( - templateNos, - $.extend( - {}, - i3GEOadmin.subgrupos.dicionario, - { - "id_n2": "modal", - "escondido": "hidden", - "excluir": i3GEOadmin.subgrupos.dicionario.cancelar, - "opcoesPerfil": opcoesPerfil, - "onExcluir": "i3GEOadmin.core.fechaModalGeral",//funcao - "onSalvar": "i3GEOadmin.subgrupos.adicionaNo",//funcao - "opcoesPublicado": function(){ - var hash = {}; - hash["sim"] = i3GEOadmin.subgrupos.dicionario.sim; - hash["nao"] = i3GEOadmin.subgrupos.dicionario.nao; - return Mustache.to_html( - $("#templateOpcoesPublicado").html(), - hash - ); - }, - "opcoesNo": function(){ - var html = '' + Mustache.to_html( - "{{#data}}" + $("#templateOpcoesNo").html() + "{{/data}}", - {"data":subgrupos} - ); - return html; - } - } - ) - ); - i3GEOadmin.subgrupos.formAdicionaNo = html; - } }, adicionaTemaDialogo: function(){ i3GEOadmin.core.abreModalGeral(i3GEOadmin.subgrupos.formAdicionaRaiz); - $("#body-formRaiz-modal").collapse('show'); }, // os parametros sao obtidos do formulario aberto do modal adicionaTemaRaiz: function(){ - var parametros = $("#formRaiz-modal form").serialize(); + var parametros = $("#form-edicao-raiz-modal").serialize(); i3GEOadmin.core.fechaModalGeral(); i3GEOadmin.core.modalAguarde(true); $.post( @@ -314,17 +250,18 @@ i3GEOadmin.subgrupos = { ); }, salvarTemaDialogo: function(id){ + i3GEOadmin.subgrupos.parametrosSalvar = $("#form-edicao-raiz-" + id).serialize(); var hash = { "mensagem": i3GEOadmin.subgrupos.dicionario.confirma, "onBotao1": "i3GEOadmin.subgrupos.salvarTema('"+id+"')", "botao1": i3GEOadmin.subgrupos.dicionario.sim, - "onBotao2": "i3GEOadmin.core.fechaModalConfirma();", + "onBotao2": "i3GEOadmin.subgrupos.parametrosSalvar = '';i3GEOadmin.core.fechaModalConfirma();", "botao2": i3GEOadmin.subgrupos.dicionario.nao }; i3GEOadmin.core.abreModalConfirma(hash); }, salvarTema: function(id){ - var parametros = $("#formRaiz-" + id + " form").serialize(); + var parametros = i3GEOadmin.subgrupos.parametrosSalvar; i3GEOadmin.core.fechaModalGeral(); i3GEOadmin.core.modalAguarde(true); $.post( @@ -333,6 +270,7 @@ i3GEOadmin.subgrupos = { ) .done( function(data, status){ + i3GEOadmin.subgrupos.parametrosSalvar = ''; i3GEOadmin.core.modalAguarde(false); i3GEOadmin.core.iconeAguarde(i3GEOadmin.subgrupos.ondeRaiz); i3GEOadmin.subgrupos.lista(); @@ -340,6 +278,141 @@ i3GEOadmin.subgrupos = { ) .fail( function(data){ + i3GEOadmin.subgrupos.parametrosSalvar = ''; + i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); + } + ); + }, + + listaNos: function(dados){ + var subgrupos = i3GEOadmin.subgrupos.listaTiposSubGrupos; + var html = Mustache.to_html( + "{{#data}}" + $("#templateNos").html() + "{{/data}}", + $.extend( + {}, + i3GEOadmin.subgrupos.dicionario, + { + "data": dados, + "opcoesPerfil": i3GEOadmin.subgrupos.opcoesPerfil, + "onExcluir": "i3GEOadmin.subgrupos.excluirNoDialogo",//funcao + "onEditar": "i3GEOadmin.subgrupos.editarNoDialogo" + } + ) + ); + i3GEOadmin.subgrupos.ondeNos.html(html); + //valor do filtro atual + var filtro = i3GEOadmin.core.valorFiltro(); + //filtro + html = Mustache.to_html( + "{{#data}}" + $("#templateFiltro").html() + "{{/data}}", + {"data":dados} + ); + $("#filtro").html("" + html); + $("#filtro").combobox(); + $(".ui-autocomplete-input").attr( "title", "Filtro" ); + + if(filtro != ""){ + i3GEOadmin.core.defineFiltro(filtro); + i3GEOadmin.core.filtra(i3GEOadmin.core.pegaFiltro()); + } + if(i3GEOadmin.subgrupos.formAdicionaNo == ""){ + html = Mustache.to_html( + $("#templateFormNos").html(), + $.extend( + {}, + i3GEOadmin.subgrupos.dicionario, + { + "id_n2": "modal", + "escondido": "hidden", + "excluir": i3GEOadmin.subgrupos.dicionario.cancelar, + "opcoesPerfil": i3GEOadmin.subgrupos.opcoesPerfil, + "onExcluir": "i3GEOadmin.core.fechaModalGeral",//funcao + "onSalvar": "i3GEOadmin.subgrupos.adicionaNo",//funcao + "opcoesPublicado": function(){ + var hash = {}; + hash["sim"] = i3GEOadmin.subgrupos.dicionario.sim; + hash["nao"] = i3GEOadmin.subgrupos.dicionario.nao; + return Mustache.to_html( + $("#templateOpcoesPublicado").html(), + hash + ); + }, + "opcoesNo": function(){ + var html = '' + Mustache.to_html( + "{{#data}}" + $("#templateOpcoesNo").html() + "{{/data}}", + {"data":subgrupos} + ); + return html; + } + } + ) + ); + i3GEOadmin.subgrupos.formAdicionaNo = html; + } + }, + editarNoDialogo: function(id){ + i3GEOadmin.core.fechaModalGeral(); + i3GEOadmin.core.modalAguarde(true); + $.post( + "exec.php?funcao=listaunico", + "id_n2=" + id + ) + .done( + function(data, status){ + var json = jQuery.parseJSON(data); + var html = Mustache.to_html( + "{{#data}}" + $("#templateFormNos").html() + "{{/data}}", + $.extend( + {}, + i3GEOadmin.subgrupos.dicionario, + { + "data": json, + "opcoesPerfil": i3GEOadmin.subgrupos.opcoesPerfil, + "onExcluir": "i3GEOadmin.subgrupos.excluirNoDialogo",//funcao + "onSalvar": "i3GEOadmin.subgrupos.salvarNoDialogo",//funcao + "opcoesPublicado": function(){ + var hash = {}; + hash[this.publicado + "-sel"] = "selected"; + hash["sim"] = i3GEOadmin.subgrupos.dicionario.sim; + hash["nao"] = i3GEOadmin.subgrupos.dicionario.nao; + return Mustache.to_html( + $("#templateOpcoesPublicado").html(), + hash + ); + }, + "opcoesNo": function(){ + var p = this.id_subgrupo; + var id = ""; + //marca o selecionado + var subgrupos = i3GEOadmin.subgrupos.listaTiposSubGrupos; + $(subgrupos).each( + function(i,el){ + if(el.id_subgrupo == p){ + subgrupos[i]["selected"] = "selected"; + id = i; + } + else{ + subgrupos[i]["selected"] = ""; + } + } + ); + var html = '' + Mustache.to_html( + "{{#data}}" + $("#templateOpcoesNo").html() + "{{/data}}", + {"data":subgrupos} + ); + //volta ao normal + subgrupos[id]["selected"] = ""; + return html; + } + } + ) + ); + i3GEOadmin.core.abreModalGeral(html); + } + ) + .fail( + function(data){ i3GEOadmin.core.modalAguarde(false); i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); } @@ -347,11 +420,10 @@ i3GEOadmin.subgrupos = { }, adicionaNoDialogo: function(){ i3GEOadmin.core.abreModalGeral(i3GEOadmin.subgrupos.formAdicionaNo); - $("#body-formNo-modal").collapse('show'); }, // os parametros sao obtidos do formulario aberto do modal adicionaNo: function(){ - var parametros = $("#formNo-modal form").serialize(); + var parametros = $("#form-edicao-no-modal").serialize(); i3GEOadmin.core.fechaModalGeral(); i3GEOadmin.core.modalAguarde(true); $.post( @@ -403,17 +475,18 @@ i3GEOadmin.subgrupos = { ); }, salvarNoDialogo: function(id){ + i3GEOadmin.subgrupos.parametrosSalvar = $("#form-edicao-no-" + id).serialize(); var hash = { "mensagem": i3GEOadmin.subgrupos.dicionario.confirma, "onBotao1": "i3GEOadmin.subgrupos.salvarNo('"+id+"')", "botao1": i3GEOadmin.subgrupos.dicionario.sim, - "onBotao2": "i3GEOadmin.core.fechaModalConfirma();", + "onBotao2": "i3GEOadmin.subgrupos.parametrosSalvar = '';i3GEOadmin.core.fechaModalConfirma();", "botao2": i3GEOadmin.subgrupos.dicionario.nao }; i3GEOadmin.core.abreModalConfirma(hash); }, salvarNo: function(id){ - var parametros = $("#formNo-" + id + " form").serialize(); + var parametros = i3GEOadmin.subgrupos.parametrosSalvar; i3GEOadmin.core.fechaModalGeral(); i3GEOadmin.core.modalAguarde(true); $.post( @@ -422,6 +495,7 @@ i3GEOadmin.subgrupos = { ) .done( function(data, status){ + i3GEOadmin.subgrupos.parametrosSalvar = ''; i3GEOadmin.core.modalAguarde(false); i3GEOadmin.core.iconeAguarde(i3GEOadmin.subgrupos.ondeNos); i3GEOadmin.subgrupos.lista(); @@ -429,6 +503,7 @@ i3GEOadmin.subgrupos = { ) .fail( function(data){ + i3GEOadmin.subgrupos.parametrosSalvar = ''; i3GEOadmin.core.modalAguarde(false); i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); } @@ -458,7 +533,7 @@ i3GEOadmin.subgrupos = { i3GEOadmin.core.modalAguarde(true); $.post( "execraiz.php?funcao=ordena", - "id_n1=" + i3GEOadmin.subgrupos.id_n1 + "&ordem=" + data.join(" ") + "id_n1=" + i3GEOadmin.subgrupos.id_n1 + "&novaordem=" + data.join(" ") ) .done( function(data, status){ @@ -474,7 +549,7 @@ i3GEOadmin.subgrupos = { } ); }, - editarTemas: function(id,titulo){ + editarTemasSubGrupo: function(id,titulo){ //muda a url para que o usuario possa voltar pelo botao do navegador var u = window.location.origin + window.location.pathname diff --git a/admin1/catalogo/menus/grupos/subgrupos/index.php b/admin1/catalogo/menus/grupos/subgrupos/index.php index 046faa8..b8cf35d 100755 --- a/admin1/catalogo/menus/grupos/subgrupos/index.php +++ b/admin1/catalogo/menus/grupos/subgrupos/index.php @@ -33,7 +33,7 @@ $nome_menu = filter_var ( $_GET ["nome_menu"], FILTER_SANITIZE_STRING ); class="btn btn-primary btn-fab btn-fab-mini pull-right"> help -

{{{txtTitulo}}}:

+

{{{txtTitulo}}}: $nome_grupo"; ?>

{{{txtDesc}}}
@@ -63,7 +63,7 @@ $nome_menu = filter_var ( $_GET ["nome_menu"], FILTER_SANITIZE_STRING ); {{{adicionar}}}
-
+
@@ -85,131 +85,140 @@ $nome_menu = filter_var ( $_GET ["nome_menu"], FILTER_SANITIZE_STRING ); + + + diff --git a/admin1/catalogo/menus/grupos/subgrupos/temas/exec.php b/admin1/catalogo/menus/grupos/subgrupos/temas/exec.php index d2b00b2..e8e8c85 100755 --- a/admin1/catalogo/menus/grupos/subgrupos/temas/exec.php +++ b/admin1/catalogo/menus/grupos/subgrupos/temas/exec.php @@ -35,7 +35,9 @@ $funcoesEdicao = array ( "ADICIONAR", "ALTERAR", "EXCLUIR", - "ORDENA" + "ORDENA", + "LISTA", + "LISTAUNICO" ); if (in_array ( strtoupper ( $funcao ), $funcoesEdicao )) { if (verificaOperacaoSessao ( "admin/html/arvore" ) === false) { @@ -53,7 +55,7 @@ testaSafeNumerico([$id_tema,$id_n2,$id_n3]); $funcao = strtoupper ( $funcao ); switch ($funcao) { case "ORDENA" : - $ordem = explode(" ",$_POST["ordem"]); + $ordem = explode(" ",$_POST["novaordem"]); //verifica se existe a mesma quantidade de registros no banco e na lista de ids $dados = pegaDados ( "SELECT ordem from ".$esquemaadmin."i3geoadmin_n3 WHERE id_n2 = $id_n2", $dbh, false ); if(count($dados) != count($ordem)){ @@ -102,6 +104,18 @@ switch ($funcao) { retornaJSON ( $dados ); exit (); break; + case "LISTAUNICO" : + $dados = pegaDados("SELECT * from ".$esquemaadmin."i3geoadmin_n3 LEFT JOIN ".$esquemaadmin."i3geoadmin_temas ON i3geoadmin_n3.id_tema = i3geoadmin_temas.id_tema where id_n3 = $id_n3"); + if ($dados === false) { + $dbhw = null; + $dbh = null; + header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); + exit (); + } + $dbhw = null; + $dbh = null; + retornaJSON($dados[0]); + break; case "LISTA" : $perfis = pegaDados ( "SELECT id_perfil, perfil from ".$esquemaadmin."i3geoadmin_perfis order by lower(perfil)", $dbh, false ); $dbhw = null; diff --git a/admin1/catalogo/menus/grupos/subgrupos/temas/index.js b/admin1/catalogo/menus/grupos/subgrupos/temas/index.js index 662d6f2..047c9b1 100755 --- a/admin1/catalogo/menus/grupos/subgrupos/temas/index.js +++ b/admin1/catalogo/menus/grupos/subgrupos/temas/index.js @@ -30,6 +30,8 @@ i3GEOadmin.temas = { id_n2: "", nome_subgrupo: "", onde: "", + listaDeTemas: "", + opcoesPerfil: "", //conteudo html do formulario de adicao na raiz formAdiciona: "", init: function(onde){ @@ -54,6 +56,8 @@ i3GEOadmin.temas = { ); //valor do filtro atual var filtro = i3GEOadmin.core.valorFiltro(); + i3GEOadmin.temas.opcoesPerfil = opcoesPerfil; + i3GEOadmin.temas.listaDeTemas = json["temas"]; //filtro html = Mustache.to_html( "{{#data}}" + $("#templateFiltro").html() + "{{/data}}", @@ -67,7 +71,7 @@ i3GEOadmin.temas = { i3GEOadmin.core.defineFiltro(filtro); i3GEOadmin.core.filtra(i3GEOadmin.core.pegaFiltro()); } - i3GEOadmin.temas.listaTemas(json["dados"],opcoesPerfil,json["temas"]); + i3GEOadmin.temas.listaTemas(json["dados"]); //torna os paineis ordenavies i3GEOadmin.temas.onde.sortable({ @@ -78,7 +82,7 @@ i3GEOadmin.temas = { }); //faz com que seja mostrado um icone de ordenamento no mouseover - $('.panel').hover( + $('.nomeitem').hover( function(){ $(this).find('.move').fadeIn(400); }, @@ -95,41 +99,17 @@ i3GEOadmin.temas = { i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); }); }, - listaTemas: function(dados,opcoesPerfil,temas){ - var template = $("#templateTemas").html(); + listaTemas: function(dados){ var html = Mustache.to_html( - "{{#data}}" + template + "{{/data}}", + "{{#data}}" + $("#templateTemas").html() + "{{/data}}", $.extend( {}, i3GEOadmin.temas.dicionario, { "data": dados, - "opcoesPerfil": opcoesPerfil, + "opcoesPerfil": i3GEOadmin.temas.opcoesPerfil, "onExcluir": "i3GEOadmin.temas.excluirTemaDialogo",//funcao - "onSalvar": "i3GEOadmin.temas.salvarTemaDialogo",//funcao - "opcoesTema": function(){ - var p = this.codigo_tema; - var id = ""; - //marca o selecionado - $(temas).each( - function(i,el){ - if(el.codigo_tema == p){ - temas[i]["selected"] = "selected"; - id = i; - } - else{ - temas[i]["selected"] = ""; - } - } - ); - var html = '' + Mustache.to_html( - "{{#data}}" + $("#templateOpcoesTema").html() + "{{/data}}", - {"data":temas} - ); - //volta ao normal - temas[id]["selected"] = ""; - return html; - } + "onEditar": "i3GEOadmin.temas.editarTemaDialogo" } ) ); @@ -138,21 +118,21 @@ i3GEOadmin.temas = { //monta um template para o modal de inclusao de novo tema if(i3GEOadmin.temas.formAdiciona == ""){ html = Mustache.to_html( - $("#templateTemas").html(), + $("#templateForm").html(), $.extend( {}, i3GEOadmin.temas.dicionario, { "id_n3": "modal", "escondido": "hidden", - "opcoesPerfil": opcoesPerfil, + "opcoesPerfil": i3GEOadmin.temas.opcoesPerfil, "excluir": i3GEOadmin.temas.dicionario.cancelar, "onExcluir": "i3GEOadmin.core.fechaModalGeral",//funcao "onSalvar": "i3GEOadmin.temas.adicionaTema",//funcao "opcoesTema": function(){ var html = '' + Mustache.to_html( "{{#data}}" + $("#templateOpcoesTema").html() + "{{/data}}", - {"data":temas} + {"data":i3GEOadmin.temas.listaDeTemas} ); return html; } @@ -162,13 +142,69 @@ i3GEOadmin.temas = { i3GEOadmin.temas.formAdiciona = html; } }, + editarTemaDialogo: function(id){ + i3GEOadmin.core.fechaModalGeral(); + i3GEOadmin.core.modalAguarde(true); + $.post( + "exec.php?funcao=listaunico", + "id_n3=" + id + ) + .done( + function(data, status){ + var json = jQuery.parseJSON(data); + var html = Mustache.to_html( + "{{#data}}" + $("#templateForm").html() + "{{/data}}", + $.extend( + {}, + i3GEOadmin.temas.dicionario, + { + "data": json, + "opcoesPerfil": i3GEOadmin.temas.opcoesPerfil, + "onExcluir": "i3GEOadmin.temas.excluirTemaDialogo",//funcao + "onSalvar": "i3GEOadmin.temas.salvarTemaDialogo",//funcao + "opcoesTema": function(){ + var p = this.codigo_tema; + var id = ""; + var temas = i3GEOadmin.temas.listaDeTemas; + //marca o selecionado + $(temas).each( + function(i,el){ + if(el.codigo_tema == p){ + temas[i]["selected"] = "selected"; + id = i; + } + else{ + temas[i]["selected"] = ""; + } + } + ); + var html = '' + Mustache.to_html( + "{{#data}}" + $("#templateOpcoesTema").html() + "{{/data}}", + {"data":temas} + ); + //volta ao normal + temas[id]["selected"] = ""; + return html; + } + } + ) + ); + i3GEOadmin.core.abreModalGeral(html); + } + ) + .fail( + function(data){ + i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); + } + ); + }, adicionaTemaDialogo: function(){ i3GEOadmin.core.abreModalGeral(i3GEOadmin.temas.formAdiciona); - $("#body-form-modal").collapse('show'); }, // os parametros sao obtidos do formulario aberto do modal adicionaTema: function(){ - var parametros = $("#modalGeral form").serialize(); + var parametros = $("#form-edicao-modal").serialize(); i3GEOadmin.core.fechaModalGeral(); i3GEOadmin.core.modalAguarde(true); $.post( @@ -220,17 +256,18 @@ i3GEOadmin.temas = { ); }, salvarTemaDialogo: function(id){ + i3GEOadmin.temas.parametrosSalvar = $("#form-edicao-" + id).serialize(); var hash = { "mensagem": i3GEOadmin.temas.dicionario.confirma, "onBotao1": "i3GEOadmin.temas.salvarTema('"+id+"')", "botao1": i3GEOadmin.temas.dicionario.sim, - "onBotao2": "i3GEOadmin.core.fechaModalConfirma();", + "onBotao2": "i3GEOadmin.temas.parametrosSalvar = '';i3GEOadmin.core.fechaModalConfirma();", "botao2": i3GEOadmin.temas.dicionario.nao }; i3GEOadmin.core.abreModalConfirma(hash); }, salvarTema: function(id){ - var parametros = $("#form-" + id + " form").serialize(); + var parametros = i3GEOadmin.temas.parametrosSalvar; i3GEOadmin.core.fechaModalGeral(); i3GEOadmin.core.modalAguarde(true); $.post( @@ -239,6 +276,7 @@ i3GEOadmin.temas = { ) .done( function(data, status){ + i3GEOadmin.temas.parametrosSalvar = ''; i3GEOadmin.core.modalAguarde(false); i3GEOadmin.core.iconeAguarde(i3GEOadmin.temas.onde); i3GEOadmin.temas.lista(); @@ -246,6 +284,7 @@ i3GEOadmin.temas = { ) .fail( function(data){ + i3GEOadmin.temas.parametrosSalvar = ''; i3GEOadmin.core.modalAguarde(false); i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); } @@ -255,7 +294,7 @@ i3GEOadmin.temas = { i3GEOadmin.core.modalAguarde(true); $.post( "exec.php?funcao=ordena", - "id_n2=" + i3GEOadmin.temas.id_n2 + "&ordem=" + data.join(" ") + "id_n2=" + i3GEOadmin.temas.id_n2 + "&novaordem=" + data.join(" ") ) .done( function(data, status){ diff --git a/admin1/catalogo/menus/grupos/subgrupos/temas/index.php b/admin1/catalogo/menus/grupos/subgrupos/temas/index.php index 9113756..1fd14a5 100755 --- a/admin1/catalogo/menus/grupos/subgrupos/temas/index.php +++ b/admin1/catalogo/menus/grupos/subgrupos/temas/index.php @@ -47,7 +47,7 @@ $nome_subgrupo = filter_var ( $_GET ["nome_subgrupo"], FILTER_SANITIZE_STRING );
{{{adicionarTema}}} + class="btn btn-primary" role="button" style="color:#008579;">{{{adicionar}}}
@@ -61,57 +61,62 @@ $nome_subgrupo = filter_var ( $_GET ["nome_subgrupo"], FILTER_SANITIZE_STRING ); +