/* Title: usuarios.js Funções que controlam o cadastro de usuarios 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. Arquivo: i3geo/admin/js/usuarios.js */ YAHOO.namespace("admin.container"); /* Function: initMenu Inicializa o editor */ function initMenu(){ ativaBotaoAdicionaUsuario("../php/usuarios.php?funcao=alterarUsuarios","adiciona"); core_carregando("ativa"); core_ativaPainelAjuda("ajuda","botaoAjuda"); pegaUsuarios(); } function ativaBotaoAdicionaUsuario(sUrl,idBotao){ var adiciona = function() { core_carregando("ativa"); core_carregando(" adicionando um novo registro"); var callback = { success:function(o) { try { var j = YAHOO.lang.JSON.parse(o.responseText); adicionaNosUsuarios(j,true); editar("usuarios",j[j.length-1].id_usuario); core_carregando("desativa"); } catch(e){core_handleFailure(e,o.responseText);} }, failure:core_handleFailure, argument: { foo:"foo", bar:"bar" } }; core_makeRequest(sUrl,callback); }; //cria o botão de adição de um novo menu new YAHOO.widget.Button(idBotao,{ onclick: { fn: adiciona } }); } /* Function: pegaOperacoes Obtém a lista de operacoes */ function pegaUsuarios(){ core_pegaDados("buscando usuários...","../php/usuarios.php?funcao=pegaUsuarios","montaArvore"); } /* Function: montaArvore Monta a árvore de edição */ function montaArvore(dados){ YAHOO.example.treeExample = new function() { tree = ""; function changeIconMode() { buildTree(); } function loadNodeData(node, fnLoadComplete){ var sUrl = "../php/usuarios.php?funcao=pegaPapeisUsuario&id_usuario="+node.data.id_usuario; var callback = { success: function(oResponse){ var dados = YAHOO.lang.JSON.parse(oResponse.responseText); adicionaNosPapeis(node,dados,false); oResponse.argument.fnLoadComplete(); }, failure: function(oResponse){ oResponse.argument.fnLoadComplete(); }, argument:{ "node": node, "fnLoadComplete": fnLoadComplete }, timeout: 25000 }; YAHOO.util.Connect.asyncRequest('GET', sUrl, callback); } function buildTree(){ tree = new YAHOO.widget.TreeView("tabela"); tree.setDynamicLoad(loadNodeData, 1); var root = tree.getRoot(); var tempNode = new YAHOO.widget.TextNode('', root, false); tempNode.isLeaf = true; tempNode.enableHighlight = false; core_carregando("desativa"); } buildTree(); }(); adicionaNosUsuarios(dados); tree.draw(); } /* Function: adicionaNosPapeis Mostra os nós de uma operacao */ function adicionaNosPapeis(no,dados,redesenha) { function temaIconMode() { var newVal = parseInt(this.value); if (newVal != currentIconMode) {currentIconMode = newVal;} } if(!redesenha) { var conteudo = "Adicionar novo papel"; var d = {html:conteudo}; var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true); tempNode.isLeaf = true; tempNode.enableHighlight = false; } for (var i=0, j=dados.length; i"; if(dados[i].nome != "") {conteudo += " "+dados[i].nome+" - "+dados[i].descricao+"";} else {conteudo += " Edite para definir o papel!!!";} var d = {html:conteudo,id_nopapel:dados[i].id_usuario+"_"+dados[i].id_papel,tipo:"papel"}; var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true); tempNode.isLeaf = true; tempNode.enableHighlight = false; } } if(redesenha){tree.draw();} } function adicionaNosUsuarios(dados,redesenha){ var root = tree.getRoot(); for (var i=0, j=dados.length; i"; conteudo += " "; conteudo += " "; if(dados[i].nome_usuario && dados[i].nome_usuario != "") {conteudo += " "+dados[i].nome_usuario+" - "+dados[i].login+" - ativo: "+dados[i].ativo+"";} else {conteudo += " Edite para definir o usuário!!!";} var d = {html:conteudo,id_usuario:dados[i].id_usuario,tipo:"usuario"}; var tempNode = new YAHOO.widget.HTMLNode(d, root, false,true); tempNode.enableHighlight = false; } if(redesenha){tree.draw();} } /* Function: editar Abre o editor de um nó */ function editar(tipo,id) { core_carregando("ativa"); core_carregando(" buscando dados"); var sUrl = null; var callback = { success:function(o) { try { if(tipo == "usuario") { var dados = YAHOO.lang.JSON.parse(o.responseText)[0]; core_montaEditor("","450px","380px","","Usuário"); montaDivUsuario(dados); core_carregando("desativa"); } if(tipo == "papel") { var dados = YAHOO.lang.JSON.parse(o.responseText); core_montaEditor("gravaDados('papel','"+id+"')","250px","100px"); $i("editor_bd").innerHTML = montaDivPapel(dados); document.getElementById("Eid_papel").style.width = "200px"; core_carregando("desativa"); } core_carregando("desativa"); } catch(e){core_handleFailure(e,o.responseText);} }, failure:core_handleFailure, argument: { foo:"foo", bar:"bar" } }; if(tipo == "usuario") {sUrl = "../php/usuarios.php?funcao=pegaDadosUsuario&id_usuario="+id;} if(tipo == "papel") {sUrl = "../php/usuarios.php?funcao=listaPapeis";} if(sUrl) {core_makeRequest(sUrl,callback);} } function montaDivUsuario(i){ var param = { "linhas":[ {titulo:"Nome:",id:"Enome_usuario",size:"50",value:i.nome_usuario,tipo:"text",div:""}, {titulo:"Login:",id:"Elogin",size:"50",value:i.login,tipo:"text",div:""}, {ajuda:"Se o usuário já existir, preencha para alterar a senha. Se for mantido em branco, o sistema gerará uma senha aleatória no caso de novos usuários. Envie a senha por e-mail após o cadastro.",titulo:"Nova senha:",id:"Esenha",size:"50",value:"",tipo:"text",div:""}, {titulo:"E-mail:",id:"Eemail",size:"50",value:i.email,tipo:"text",div:""}, {titulo:"Data de cadastro:",id:"Edata_cadastro",size:"50",value:i.data_cadastro,tipo:"text",div:""}, {titulo:"Ativo:",id:"",size:"50",value:i.ativo,tipo:"text",div:"
"} ] }; var ins = ""; ins += core_geraLinhas(param); ins += "


"; $i("editor_bd").innerHTML = ins; if($i("cAtivo")){ temp = ""; $i("cAtivo").innerHTML = temp; $i("Eativo").value = i.ativo; } var temp = function() {gravaDados('usuario',i.id_usuario);}; new YAHOO.widget.Button("salvarEditorUsuario",{ onclick: { fn: temp }}); } function montaDivPapel(dados){ var ins = "

"; return(ins); } /* Function: excluir Exclui um elemento do atlas */ function excluir(tipo,id_usuario,id_papel) { var mensagem = " excluindo o registro do usuário= "+id_usuario; var no = null; var sUrl = null; if(tipo == "usuario") { no = tree.getNodeByProperty("id_usuario",id_usuario); sUrl = "../php/usuarios.php?funcao=excluirUsuario&id_usuario="+id_usuario; } if(tipo == "papel") { no = tree.getNodeByProperty("id_nopapel",id_usuario+"_"+id_papel); sUrl = "../php/usuarios.php?funcao=excluirPapelUsuario&id_papel="+id_papel+"&id_usuario="+id_usuario; } if(sUrl) {core_excluiNoTree(sUrl,no,mensagem);} } /* Function: emailsenha Enviar senha por email */ function emailsenha(id_usuario) { var callback = { success:function(o){ try { if(YAHOO.lang.JSON.parse(o.responseText) == "erro") { core_carregando("Não foi possível enviar"); setTimeout("core_carregando('desativa')",3000); } else{ core_carregando("desativa"); } } catch(e){core_handleFailure(e,o.responseText);} }, failure:core_handleFailure, argument: { foo:"foo", bar:"bar" } }; core_carregando("ativa"); core_carregando("Enviando e-mail"); var sUrl = "../php/usuarios.php?funcao=enviarSenhaEmail&id_usuario="+id_usuario; core_makeRequest(sUrl,callback,'POST'); } /* Function: gravaDados Altera dados de um elemento do cadastro */ function gravaDados(tipo,id) { var campos = null; var par = null; var prog = null; if(tipo == "usuario"){ campos = ["nome_usuario","login","senha","data_cadastro","email","ativo"]; par = "&id_usuario="+id; prog = "../php/usuarios.php?funcao=alterarUsuarios"; } if(tipo == "papel"){ campos = ["id_papel"]; par = "&id_usuario="+id; prog = "../php/usuarios.php?funcao=adicionaPapelUsuario"; } for (var i=0;iNão foi possível excluir. Verifique se não existem menus vinculados a este tema"); setTimeout("core_carregando('desativa')",3000); } else{ if(tipo == "usuario"){ var no = tree.getNodeByProperty("id_usuario",id); no.getContentEl().getElementsByTagName("span")[0].innerHTML = document.getElementById("Enome_usuario").value+" "+document.getElementById("Elogin").value+" ativo: "+document.getElementById("Eativo").value; no.getContentEl().getElementsByTagName("span")[0].style.color = ""; no.html = no.getContentEl().innerHTML; } if(tipo == "papel"){ var no = tree.getNodeByProperty("id_usuario",id); adicionaNosPapeis(no,YAHOO.lang.JSON.parse(o.responseText),true); } core_carregando("desativa"); } YAHOO.admin.container.panelEditor.destroy(); YAHOO.admin.container.panelEditor = null; } catch(e){core_handleFailure(e,o.responseText);} }, failure:core_handleFailure, argument: { foo:"foo", bar:"bar" } }; if(prog && par){ core_carregando("ativa"); core_carregando(" gravando o registro do id= "+id); var sUrl = prog+par; core_makeRequest(sUrl,callback,'POST'); } }