From c2a8865a5b3cf70d9bfdcbe880ca55af0e3a263c Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Sun, 10 Jul 2016 14:13:40 -0300 Subject: [PATCH] Adaptação do formulário de cadastro de grupos de usuários para bootstrap --- admin/admin.db | Bin 335872 -> 0 bytes admin/html/gruposusuarios_.html | 97 ------------------------------------------------------------------------------------------------- admin1/dicionario/core.js | 4 ++-- admin1/dicionario/gruposusuarios.js | 9 ++++----- admin1/usuarios/cadastro/exec.php | 2 +- admin1/usuarios/cadastro/index.js | 4 ++-- admin1/usuarios/cadastro/index.php | 5 ----- admin1/usuarios/grupos/exec.php | 205 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ admin1/usuarios/grupos/index.js | 243 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ admin1/usuarios/grupos/index.php | 120 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 10 files changed, 572 insertions(+), 117 deletions(-) delete mode 100755 admin/html/gruposusuarios_.html create mode 100755 admin1/usuarios/grupos/exec.php create mode 100755 admin1/usuarios/grupos/index.js diff --git a/admin/admin.db b/admin/admin.db index c8ba0a4..a4243ae 100755 Binary files a/admin/admin.db and b/admin/admin.db differ diff --git a/admin/html/gruposusuarios_.html b/admin/html/gruposusuarios_.html deleted file mode 100755 index 579cf07..0000000 --- a/admin/html/gruposusuarios_.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - -Usuarios - - - - - - - - -
-
-

- {{{gruposusuarios}}} -

- -
-
- - diff --git a/admin1/dicionario/core.js b/admin1/dicionario/core.js index 8318be6..8638d9c 100755 --- a/admin1/dicionario/core.js +++ b/admin1/dicionario/core.js @@ -241,12 +241,12 @@ i3GEOadmin.core.dicionario = { es : "" } ], 'nome' : [ { - pt : "nome", + pt : "Nome", en : "", es : "" } ], 'descricao' : [ { - pt : "descrição", + pt : "Descrição", en : "", es : "" } ], diff --git a/admin1/dicionario/gruposusuarios.js b/admin1/dicionario/gruposusuarios.js index e778a90..9380ace 100755 --- a/admin1/dicionario/gruposusuarios.js +++ b/admin1/dicionario/gruposusuarios.js @@ -1,5 +1,4 @@ //+$trad(1,i3GEOadmin.editormapfile.dicionario)+ -i3GEOadmin.gruposusuarios = {}; i3GEOadmin.gruposusuarios.dicionario = { 'gruposusuarios' : [ { pt : "Administração do i3geo - Grupos de usuários", @@ -66,13 +65,13 @@ i3GEOadmin.gruposusuarios.dicionario = { en : "", es : "" } ], - '' : [ { - pt : "", + 'usuariosv' : [ { + pt : "Usuários vinculados", en : "", es : "" } ], - '' : [ { - pt : "", + 'grupo' : [ { + pt : "Grupo", en : "", es : "" } ], diff --git a/admin1/usuarios/cadastro/exec.php b/admin1/usuarios/cadastro/exec.php index 27e6f04..46016a6 100755 --- a/admin1/usuarios/cadastro/exec.php +++ b/admin1/usuarios/cadastro/exec.php @@ -58,7 +58,7 @@ switch ($funcao) { case "ADICIONARUSUARIO" : $novo = adicionarUsuario( $ativo, $data_cadastro, $email, $login, $nome_usuario, $senha, $papeis, $dbhw ); if ($novo != false) { - $sql = "SELECT * from " . $esquemaadmin . "i3geousr_usuarios WHERE id_usuario = " . $novo; + $sql = "SELECT id_usuario, ativo, data_cadastro, email, login, nome_usuario from " . $esquemaadmin . "i3geousr_usuarios WHERE id_usuario = " . $novo; $dados = pegaDados ( $sql, $dbh ); if ($dados == false) { header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); diff --git a/admin1/usuarios/cadastro/index.js b/admin1/usuarios/cadastro/index.js index 3a54856..abdfdba 100755 --- a/admin1/usuarios/cadastro/index.js +++ b/admin1/usuarios/cadastro/index.js @@ -161,7 +161,7 @@ Obtém a lista de usuarios .done( function(data, status){ i3GEOadmin.core.modalAguarde(false); - i3GEOadmin.core.iconeAguarde(ondeListaUsuarios); + i3GEOadmin.core.iconeAguarde(i3GEOadmin.usuarios.ondeListaUsuarios); i3GEOadmin.usuarios.pegaUsuarios(); } ) @@ -223,7 +223,7 @@ Obtém a lista de usuarios .done( function(data, status){ i3GEOadmin.core.modalAguarde(false); - i3GEOadmin.core.iconeAguarde(ondeListaUsuarios); + i3GEOadmin.core.iconeAguarde(i3GEOadmin.usuarios.ondeListaUsuarios); i3GEOadmin.usuarios.pegaUsuarios(); } ) diff --git a/admin1/usuarios/cadastro/index.php b/admin1/usuarios/cadastro/index.php index 15da27b..e8f75d1 100755 --- a/admin1/usuarios/cadastro/index.php +++ b/admin1/usuarios/cadastro/index.php @@ -149,14 +149,9 @@ include "../../head.php"; i3GEOadmin.usuarios.dicionario.filtro = i3GEOadmin.core.dicionario.filtro; i3GEOadmin.usuarios.dicionario.excluir = i3GEOadmin.core.dicionario.excluir; i3GEOadmin.usuarios.dicionario.salvar = i3GEOadmin.core.dicionario.salva; - i3GEOadmin.usuarios.dicionario.enviaSenha = i3GEOadmin.usuarios.dicionario.enviaSenha; - i3GEOadmin.usuarios.dicionario.usuario = i3GEOadmin.usuarios.dicionario.usuario; - i3GEOadmin.usuarios.dicionario.nome = i3GEOadmin.usuarios.dicionario.nome; - i3GEOadmin.usuarios.dicionario.papeisv = i3GEOadmin.usuarios.dicionario.papeisv; i3GEOadmin.usuarios.dicionario.sim = i3GEOadmin.core.dicionario.sim; i3GEOadmin.usuarios.dicionario.nao = i3GEOadmin.core.dicionario.nao; i3GEOadmin.usuarios.dicionario.cancelar = i3GEOadmin.core.dicionario.cancelar; - i3GEOadmin.usuarios.dicionario.dataCadastro = i3GEOadmin.usuarios.dicionario.dataCadastro; i3GEOadmin.usuarios.dicionario.confirma = i3GEOadmin.core.dicionario.confirma; i3GEOadmin.core.dicionario = null; diff --git a/admin1/usuarios/grupos/exec.php b/admin1/usuarios/grupos/exec.php new file mode 100755 index 0000000..4aaca59 --- /dev/null +++ b/admin1/usuarios/grupos/exec.php @@ -0,0 +1,205 @@ + $o, + "usuarios" => $usuarios + ) ); + break; + case "EXCLUIRGRUPO" : + $retorna = excluirGrupo ( $id_grupo, $dbhw ); + $dbhw = null; + $dbh = null; + if ($retorna == false) { + header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); + exit (); + } + retornaJSON ( $id_grupo ); + exit (); + break; +} +cpjson ( $retorno ); +// $usuarios deve ser um array +function adicionarGrupo($nome, $descricao, $usuarios, $dbhw) { + global $esquemaadmin; + try { + $dataCol = array( + "nome" => '', + "descricao" => '' + ); + $id_grupo = i3GeoAdminInsertUnico ( $dbhw, "i3geousr_grupos", $dataCol, "nome", "id_grupo" ); + $retorna = alterarGrupo ( $id_grupo, $nome, $descricao, $usuarios, $dbhw ); + return $retorna; + } catch ( PDOException $e ) { + return false; + } +} +// $papeis deve ser um array +function alterarGrupo($id_grupo, $nome, $descricao, $usuarios, $dbhw) { + global $esquemaadmin; + if ($convUTF) { + $nome = utf8_encode ( $nome ); + $descricao = utf8_encode ( $descricao ); + } + $dataCol = array ( + "nome" => $nome, + "descricao" => $descricao + ); + + $resultado = i3GeoAdminUpdate ( $dbhw, "i3geousr_grupos", $dataCol, "WHERE id_grupo = $id_grupo" ); + if ($resultado == false) { + return false; + } + // apaga todos os papeis + $resultado = excluirUsuariosGrupo ( $id_grupo, $dbhw ); + if ($resultado == false) { + return false; + } + if (! empty ( $usuarios )) { + // atualiza papeis vinculados + foreach ( $usuarios as $p ) { + $resultado = adicionaUsuarioGrupo ( $id_grupo, $p, $dbhw ); + if ($resultado == false) { + return false; + } + } + } + return $id_grupo; +} +function adicionaUsuarioGrupo($id_grupo, $id_usuario, $dbhw) { + global $esquemaadmin; + $dataCol = array ( + "id_usuario" => $id_usuario, + "id_grupo" => $id_grupo + ); + $resultado = i3GeoAdminInsert ( $dbhw, "i3geousr_grupousuario", $dataCol ); + return $resultado; +} +function excluirGrupo($id_grupo, $dbhw) { + global $esquemaadmin; + $resultado = exclui ( $esquemaadmin . "i3geousr_grupos", "id_grupo", $id_grupo, $dbhw, false ); + if ($resultado == false) { + return false; + } + if ($resultado == true) { + $resultado = excluirUsuariosGrupo ( $id_grupo, $dbhw ); + } + return $resultado; +} +function excluirUsuariosGrupo($id_grupo, $dbhw) { + global $esquemaadmin; + $resultado = exclui ( $esquemaadmin . "i3geousr_grupousuario", "id_grupo", $id_grupo, $dbhw, false ); + return $resultado; +} +?> diff --git a/admin1/usuarios/grupos/index.js b/admin1/usuarios/grupos/index.js new file mode 100755 index 0000000..d6e40ab --- /dev/null +++ b/admin1/usuarios/grupos/index.js @@ -0,0 +1,243 @@ +/* +Licenca: + +GPL2 + +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet + +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com + +Este programa é software livre; você pode redistribuí-lo +e/ou modificá-lo sob os termos da Licença Pública Geral +GNU conforme publicada pela Free Software Foundation; + +Este programa é distribuído na expectativa de que seja útil, +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. +Consulte a Licença Pública Geral do GNU para mais detalhes. +Você deve ter recebido uma cópia da Licença Pública Geral do +GNU junto com este programa; se não, escreva para a +Free Software Foundation, Inc., no endereço +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + + */ +i3GEOadmin.gruposusuarios = { + //variavel global indicando o elemento que recebera a lista de usuarios + ondeListaGrupos: "", + //conteudo html do formulario de adicao de operacao + formAdicionaUsuario: "", + init: function(onde){ + i3GEOadmin.gruposusuarios.ondeListaGrupos = onde; + i3GEOadmin.gruposusuarios.pegaGrupos(); + }, + /* +Function: pegaGrupos + +Obtém a lista de grupos + */ + pegaGrupos: function(){ + i3GEOadmin.core.iconeAguarde(i3GEOadmin.gruposusuarios.ondeListaGrupos); + $.post( + "exec.php?funcao=pegaGruposEusuarios" + ) + .done( + function(data, status){ + //valor do filtro atual + var filtro = i3GEOadmin.gruposusuarios.valorFiltro(); + //objeto json com os dados viondos do banco + var json = jQuery.parseJSON(data); + //template dos checkbox + var templateUsuarios = $("#templateInputUsuarios").html(); + //template do form de cada operacao + var templateGrupos = $("#templateGrupos").html(); + //lista todas as usuarios + var html = Mustache.to_html( + "{{#data}}" + templateGrupos + "{{/data}}", + $.extend( + i3GEOadmin.gruposusuarios.dicionario, + { + "data": json["grupos"], + "onExcluir": "i3GEOadmin.gruposusuarios.excluirGrupoDialogo",//funcao + "onSalvar": "i3GEOadmin.gruposusuarios.salvarGrupoDialogo",//funcao + "excluir": i3GEOadmin.gruposusuarios.dicionario.excluir, + "inputUsuarios": function(){ + //marca os checkbox + var p = this.usuarios; + $(json["usuarios"]).each( + function(i,el){ + console.info(p) + if(p && el.id_usuario && p[el.id_usuario]){ + json["usuarios"][i]["checked"] = "checked"; + } + else{ + json["usuarios"][i]["checked"] = ""; + } + } + ); + return Mustache.to_html( + "{{#data}}" + templateUsuarios + "{{/data}}", + { + "data":json["usuarios"] + } + ); + } + } + ) + ); + i3GEOadmin.gruposusuarios.ondeListaGrupos.html(html); + //filtro + html = Mustache.to_html( + "{{#data}}" + $("#templateFiltro").html() + "{{/data}}", + {"data":json["grupos"]} + ); + $("#filtro").html("" + html); + if(filtro != ""){ + i3GEOadmin.gruposusuarios.defineFiltro(filtro); + i3GEOadmin.gruposusuarios.filtra(i3GEOadmin.gruposusuarios.pegaFiltro()); + } + //monta um template para o modal de inclusao de novo usuario + html = Mustache.to_html( + $("#templateGrupos").html(), + $.extend( + i3GEOadmin.gruposusuarios.dicionario, + { + "id_grupo": "modal", + "excluir": i3GEOadmin.gruposusuarios.dicionario.cancelar, + "onExcluir": "i3GEOadmin.core.fechaModalGeral",//funcao + "onSalvar": "i3GEOadmin.gruposusuarios.adicionaGrupo",//funcao + "nome": "", + "descricao": "", + "inputUsuarios": function(){ + return Mustache.to_html( + "{{#data}}" + templateUsuarios + "{{/data}}", + { + "data":json["usuarios"] + } + ); + } + } + ) + ); + i3GEOadmin.gruposusuarios.formAdicionaGrupo = html; + $.material.init(); + } + ) + .fail(function(data){ + i3GEOadmin.gruposusuarios.ondeListaGrupos.html(""); + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); + }); + }, + adicionaGrupoDialogo: function(){ + i3GEOadmin.core.abreModalGeral(i3GEOadmin.gruposusuarios.formAdicionaGrupo); + }, +// os parametros sao obtidos do formulario aberto do modal + adicionaGrupo: function(){ + var parametros = $("#form-modal form").serialize(); + i3GEOadmin.core.fechaModalGeral(); + i3GEOadmin.core.modalAguarde(true); + $.post( + "exec.php?funcao=adicionarGrupo", + parametros + ) + .done( + function(data, status){ + i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.core.iconeAguarde(i3GEOadmin.gruposusuarios.ondeListaGrupos); + i3GEOadmin.gruposusuarios.pegaGrupos(); + } + ) + .fail( + function(data){ + i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); + } + ); + }, + excluirGrupoDialogo: function(id_grupo){ + var hash = { + "mensagem": i3GEOadmin.gruposusuarios.dicionario.confirma, + "onBotao1": "i3GEOadmin.gruposusuarios.excluirGrupo('"+id_grupo+"')", + "botao1": i3GEOadmin.gruposusuarios.dicionario.sim, + "onBotao2": "i3GEOadmin.core.fechaModalConfirma();", + "botao2": i3GEOadmin.gruposusuarios.dicionario.nao + }; + i3GEOadmin.core.abreModalConfirma(hash); + }, + excluirGrupo: function(id_grupo){ + i3GEOadmin.core.modalAguarde(true); + $.post( + "exec.php?funcao=excluirGrupo", + "id_grupo="+id_grupo + ) + .done( + function(data, status){ + i3GEOadmin.core.modalAguarde(false); + var json = jQuery.parseJSON(data)*1; + $("#form-" + json).remove(); + } + ) + .fail( + function(data){ + i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); + } + ); + }, + salvarGrupoDialogo: function(id_grupo){ + var hash = { + "mensagem": i3GEOadmin.gruposusuarios.dicionario.confirma, + "onBotao1": "i3GEOadmin.gruposusuarios.salvarGrupo('"+id_grupo+"')", + "botao1": i3GEOadmin.gruposusuarios.dicionario.sim, + "onBotao2": "i3GEOadmin.core.fechaModalConfirma();", + "botao2": i3GEOadmin.gruposusuarios.dicionario.nao + }; + i3GEOadmin.core.abreModalConfirma(hash); + }, + salvarGrupo: function(id_grupo){ + var parametros = $("#form-" + id_grupo + " form").serialize(); + i3GEOadmin.core.fechaModalGeral(); + i3GEOadmin.core.modalAguarde(true); + $.post( + "exec.php?funcao=alterarGrupo", + "id_grupo="+ id_grupo+"&"+parametros + ) + .done( + function(data, status){ + i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.core.iconeAguarde(i3GEOadmin.gruposusuarios.ondeListaGrupos); + i3GEOadmin.gruposusuarios.pegaGrupos(); + } + ) + .fail( + function(data){ + i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); + } + ); + }, + pegaFiltro: function(){ + return $i("filtro"); + }, + valorFiltro: function(){ + return i3GEOadmin.gruposusuarios.pegaFiltro().value; + }, + defineFiltro: function(valor){ + i3GEOadmin.gruposusuarios.pegaFiltro().value = valor; + }, + filtra: function(obj){ + $("#corpo .panel").each( + function(i,el){ + if(obj.value == ""){ + $(el).show(); + } + else { + $(el).hide(); + } + } + ); + if(obj.value != ""){ + $("#"+obj.value).show(); + } + } +}; \ No newline at end of file diff --git a/admin1/usuarios/grupos/index.php b/admin1/usuarios/grupos/index.php index 67010b3..34a7ab6 100755 --- a/admin1/usuarios/grupos/index.php +++ b/admin1/usuarios/grupos/index.php @@ -10,16 +10,97 @@ include "../../head.php";
  • i3Geo
  • Admin
  • Usuários
  • -
  • Grupos
  • +
  • Grupos e usuários
  • - -
    -
    - +
    +
    +
    + + +
    +
    + + + + + -- libgit2 0.21.2