Commit c2a8865a5b3cf70d9bfdcbe880ca55af0e3a263c
1 parent
3b53f0f2
Exists in
master
and in
7 other branches
Adaptação do formulário de cadastro de grupos de usuários para bootstrap
Showing
10 changed files
with
572 additions
and
117 deletions
Show diff stats
admin/admin.db
No preview for this file type
admin/html/gruposusuarios_.html
@@ -1,97 +0,0 @@ | @@ -1,97 +0,0 @@ | ||
1 | -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> | ||
2 | -<html> | ||
3 | -<head> | ||
4 | -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> | ||
5 | -<title>Usuarios</title> | ||
6 | -<style type="text/css"> | ||
7 | -/*margin and padding on body element | ||
8 | - can introduce errors in determining | ||
9 | - element position and are not recommended; | ||
10 | - we turn them off as a foundation for YUI | ||
11 | - CSS treatments. */ | ||
12 | -body { | ||
13 | - margin: 0; | ||
14 | - padding: 0; | ||
15 | -} | ||
16 | -</style> | ||
17 | -<script type="text/javascript" src="../js/core_.js"></script> | ||
18 | -<script type="text/javascript" src="../dicionario/core.js"></script> | ||
19 | -<script type="text/javascript" src="../dicionario/gruposusuarios.js"></script> | ||
20 | -<script type="text/javascript" src="../js/gruposusuarios.js"></script> | ||
21 | -<link rel="stylesheet" type="text/css" href="admin.css"> | ||
22 | -</head> | ||
23 | -<body class=" yui-skin-sam fundoPonto" style="background-color: white; margin-top: 20px;"> | ||
24 | - <center> | ||
25 | - <div class="mascaraPrincipal" id="divGeral"> | ||
26 | - <h1> | ||
27 | - {{{gruposusuarios}}} <img | ||
28 | - src="../imagens/04.png" style="cursor: pointer" id=botaoAjuda /> | ||
29 | - </h1> | ||
30 | - <div id="formulario" style="display: none"> | ||
31 | - <div id="ajuda"> | ||
32 | - <div class="hd">{{{ajuda}}}</div> | ||
33 | - <div class="bd" style="height: 144px; overflow: auto"> | ||
34 | - {{{txtAjuda}}} | ||
35 | - </div> | ||
36 | - <div class="ft"></div> | ||
37 | - </div> | ||
38 | - <input onclick="adicionaLinha()" type=button id=adiciona | ||
39 | - value="{{{adicionaGrupo}}}" /> <br> | ||
40 | - <p>{{{grupoCadastrado}}}</p> | ||
41 | - <div id="tabela" style="left: -5px;"></div> | ||
42 | - <div id=logajax style="display: block"></div> | ||
43 | - </div> | ||
44 | - </div> | ||
45 | - </center> | ||
46 | - <script> | ||
47 | - /* | ||
48 | - Title: Cadastro de grupos de usuarios | ||
49 | - | ||
50 | - Veja também: | ||
51 | - | ||
52 | - <core.js> | ||
53 | - | ||
54 | - <usuarios.js> | ||
55 | - | ||
56 | - Licenca: | ||
57 | - | ||
58 | - GPL2 | ||
59 | - | ||
60 | - i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | ||
61 | - | ||
62 | - Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil | ||
63 | - Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br | ||
64 | - | ||
65 | - Este programa é software livre; você pode redistribuí-lo | ||
66 | - e/ou modificá-lo sob os termos da Licença Pública Geral | ||
67 | - GNU conforme publicada pela Free Software Foundation; | ||
68 | - | ||
69 | - Este programa é distribuído na expectativa de que seja útil, | ||
70 | - porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | ||
71 | - de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | ||
72 | - Consulte a Licença Pública Geral do GNU para mais detalhes. | ||
73 | - Você deve ter recebido uma cópia da Licença Pública Geral do | ||
74 | - GNU junto com este programa; se não, escreva para a | ||
75 | - Free Software Foundation, Inc., no endereço | ||
76 | - 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | ||
77 | - | ||
78 | - Arquivo: | ||
79 | - | ||
80 | - i3geo/admin/html/gruposusuarios.html | ||
81 | - */ | ||
82 | - | ||
83 | - //necessario para a ferramenta login e outras | ||
84 | - i3GEO.configura = { | ||
85 | - locaplic : "../.." | ||
86 | - }; | ||
87 | - // | ||
88 | - core_parseMustacheBody(i3GEOadmin.gruposusuarios.dicionario); | ||
89 | - cabecalhoUsuarios("cabecalhoPrincipal", "gruposusuarios"); | ||
90 | - temp = function() { | ||
91 | - document.getElementById("formulario").style.display = "block"; | ||
92 | - initMenu(); | ||
93 | - }; | ||
94 | - i3GEO.login.verificaOperacao("admin/html/usuarios", | ||
95 | - i3GEO.configura.locaplic, temp, "sessao",i3GEO.login.dialogo.abreLogin); | ||
96 | - </script> | ||
97 | -</body> |
admin1/dicionario/core.js
@@ -241,12 +241,12 @@ i3GEOadmin.core.dicionario = { | @@ -241,12 +241,12 @@ i3GEOadmin.core.dicionario = { | ||
241 | es : "" | 241 | es : "" |
242 | } ], | 242 | } ], |
243 | 'nome' : [ { | 243 | 'nome' : [ { |
244 | - pt : "nome", | 244 | + pt : "Nome", |
245 | en : "", | 245 | en : "", |
246 | es : "" | 246 | es : "" |
247 | } ], | 247 | } ], |
248 | 'descricao' : [ { | 248 | 'descricao' : [ { |
249 | - pt : "descrição", | 249 | + pt : "Descrição", |
250 | en : "", | 250 | en : "", |
251 | es : "" | 251 | es : "" |
252 | } ], | 252 | } ], |
admin1/dicionario/gruposusuarios.js
1 | //+$trad(1,i3GEOadmin.editormapfile.dicionario)+ | 1 | //+$trad(1,i3GEOadmin.editormapfile.dicionario)+ |
2 | -i3GEOadmin.gruposusuarios = {}; | ||
3 | i3GEOadmin.gruposusuarios.dicionario = { | 2 | i3GEOadmin.gruposusuarios.dicionario = { |
4 | 'gruposusuarios' : [ { | 3 | 'gruposusuarios' : [ { |
5 | pt : "Administração do i3geo - Grupos de usuários", | 4 | pt : "Administração do i3geo - Grupos de usuários", |
@@ -66,13 +65,13 @@ i3GEOadmin.gruposusuarios.dicionario = { | @@ -66,13 +65,13 @@ i3GEOadmin.gruposusuarios.dicionario = { | ||
66 | en : "", | 65 | en : "", |
67 | es : "" | 66 | es : "" |
68 | } ], | 67 | } ], |
69 | - '' : [ { | ||
70 | - pt : "", | 68 | + 'usuariosv' : [ { |
69 | + pt : "Usuários vinculados", | ||
71 | en : "", | 70 | en : "", |
72 | es : "" | 71 | es : "" |
73 | } ], | 72 | } ], |
74 | - '' : [ { | ||
75 | - pt : "", | 73 | + 'grupo' : [ { |
74 | + pt : "Grupo", | ||
76 | en : "", | 75 | en : "", |
77 | es : "" | 76 | es : "" |
78 | } ], | 77 | } ], |
admin1/usuarios/cadastro/exec.php
@@ -58,7 +58,7 @@ switch ($funcao) { | @@ -58,7 +58,7 @@ switch ($funcao) { | ||
58 | case "ADICIONARUSUARIO" : | 58 | case "ADICIONARUSUARIO" : |
59 | $novo = adicionarUsuario( $ativo, $data_cadastro, $email, $login, $nome_usuario, $senha, $papeis, $dbhw ); | 59 | $novo = adicionarUsuario( $ativo, $data_cadastro, $email, $login, $nome_usuario, $senha, $papeis, $dbhw ); |
60 | if ($novo != false) { | 60 | if ($novo != false) { |
61 | - $sql = "SELECT * from " . $esquemaadmin . "i3geousr_usuarios WHERE id_usuario = " . $novo; | 61 | + $sql = "SELECT id_usuario, ativo, data_cadastro, email, login, nome_usuario from " . $esquemaadmin . "i3geousr_usuarios WHERE id_usuario = " . $novo; |
62 | $dados = pegaDados ( $sql, $dbh ); | 62 | $dados = pegaDados ( $sql, $dbh ); |
63 | if ($dados == false) { | 63 | if ($dados == false) { |
64 | header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); | 64 | header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); |
admin1/usuarios/cadastro/index.js
@@ -161,7 +161,7 @@ Obt&eacute;m a lista de usuarios | @@ -161,7 +161,7 @@ Obt&eacute;m a lista de usuarios | ||
161 | .done( | 161 | .done( |
162 | function(data, status){ | 162 | function(data, status){ |
163 | i3GEOadmin.core.modalAguarde(false); | 163 | i3GEOadmin.core.modalAguarde(false); |
164 | - i3GEOadmin.core.iconeAguarde(ondeListaUsuarios); | 164 | + i3GEOadmin.core.iconeAguarde(i3GEOadmin.usuarios.ondeListaUsuarios); |
165 | i3GEOadmin.usuarios.pegaUsuarios(); | 165 | i3GEOadmin.usuarios.pegaUsuarios(); |
166 | } | 166 | } |
167 | ) | 167 | ) |
@@ -223,7 +223,7 @@ Obt&eacute;m a lista de usuarios | @@ -223,7 +223,7 @@ Obt&eacute;m a lista de usuarios | ||
223 | .done( | 223 | .done( |
224 | function(data, status){ | 224 | function(data, status){ |
225 | i3GEOadmin.core.modalAguarde(false); | 225 | i3GEOadmin.core.modalAguarde(false); |
226 | - i3GEOadmin.core.iconeAguarde(ondeListaUsuarios); | 226 | + i3GEOadmin.core.iconeAguarde(i3GEOadmin.usuarios.ondeListaUsuarios); |
227 | i3GEOadmin.usuarios.pegaUsuarios(); | 227 | i3GEOadmin.usuarios.pegaUsuarios(); |
228 | } | 228 | } |
229 | ) | 229 | ) |
admin1/usuarios/cadastro/index.php
@@ -149,14 +149,9 @@ include "../../head.php"; | @@ -149,14 +149,9 @@ include "../../head.php"; | ||
149 | i3GEOadmin.usuarios.dicionario.filtro = i3GEOadmin.core.dicionario.filtro; | 149 | i3GEOadmin.usuarios.dicionario.filtro = i3GEOadmin.core.dicionario.filtro; |
150 | i3GEOadmin.usuarios.dicionario.excluir = i3GEOadmin.core.dicionario.excluir; | 150 | i3GEOadmin.usuarios.dicionario.excluir = i3GEOadmin.core.dicionario.excluir; |
151 | i3GEOadmin.usuarios.dicionario.salvar = i3GEOadmin.core.dicionario.salva; | 151 | i3GEOadmin.usuarios.dicionario.salvar = i3GEOadmin.core.dicionario.salva; |
152 | - i3GEOadmin.usuarios.dicionario.enviaSenha = i3GEOadmin.usuarios.dicionario.enviaSenha; | ||
153 | - i3GEOadmin.usuarios.dicionario.usuario = i3GEOadmin.usuarios.dicionario.usuario; | ||
154 | - i3GEOadmin.usuarios.dicionario.nome = i3GEOadmin.usuarios.dicionario.nome; | ||
155 | - i3GEOadmin.usuarios.dicionario.papeisv = i3GEOadmin.usuarios.dicionario.papeisv; | ||
156 | i3GEOadmin.usuarios.dicionario.sim = i3GEOadmin.core.dicionario.sim; | 152 | i3GEOadmin.usuarios.dicionario.sim = i3GEOadmin.core.dicionario.sim; |
157 | i3GEOadmin.usuarios.dicionario.nao = i3GEOadmin.core.dicionario.nao; | 153 | i3GEOadmin.usuarios.dicionario.nao = i3GEOadmin.core.dicionario.nao; |
158 | i3GEOadmin.usuarios.dicionario.cancelar = i3GEOadmin.core.dicionario.cancelar; | 154 | i3GEOadmin.usuarios.dicionario.cancelar = i3GEOadmin.core.dicionario.cancelar; |
159 | - i3GEOadmin.usuarios.dicionario.dataCadastro = i3GEOadmin.usuarios.dicionario.dataCadastro; | ||
160 | i3GEOadmin.usuarios.dicionario.confirma = i3GEOadmin.core.dicionario.confirma; | 155 | i3GEOadmin.usuarios.dicionario.confirma = i3GEOadmin.core.dicionario.confirma; |
161 | 156 | ||
162 | i3GEOadmin.core.dicionario = null; | 157 | i3GEOadmin.core.dicionario = null; |
@@ -0,0 +1,205 @@ | @@ -0,0 +1,205 @@ | ||
1 | +<?php | ||
2 | +/* | ||
3 | + * Licenca: | ||
4 | + * | ||
5 | + * GPL2 | ||
6 | + * | ||
7 | + * i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | ||
8 | + * | ||
9 | + * Direitos Autorais Reservados (c) 2006 Edmar Moretti | ||
10 | + * Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | ||
11 | + * | ||
12 | + * Este programa é software livre; você pode redistribuí-lo | ||
13 | + * e/ou modificá-lo sob os termos da Licença Pública Geral | ||
14 | + * GNU conforme publicada pela Free Software Foundation; | ||
15 | + * | ||
16 | + * Este programa é distribuído na expectativa de que seja útil, | ||
17 | + * porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | ||
18 | + * de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | ||
19 | + * Consulte a Licença Pública Geral do GNU para mais detalhes. | ||
20 | + * Você deve ter recebido uma copia da Licença Pública Geral do | ||
21 | + * GNU junto com este programa; se não, escreva para a | ||
22 | + * Free Software Foundation, Inc., no endereço | ||
23 | + * 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | ||
24 | + */ | ||
25 | +error_reporting ( 0 ); | ||
26 | +// | ||
27 | +// pega as variaveis passadas com get ou post | ||
28 | +// | ||
29 | + | ||
30 | +include_once (dirname ( __FILE__ ) . "/../../../admin/php/login.php"); | ||
31 | +$funcoesEdicao = array ( | ||
32 | + "ADICIONARGRUPO", | ||
33 | + "ALTERARGRUPO", | ||
34 | + "ADICIONAUSUARIOSGRUPO", | ||
35 | + "EXCLUIRGRUPO" | ||
36 | +); | ||
37 | +if (in_array ( strtoupper ( $funcao ), $funcoesEdicao )) { | ||
38 | + if (verificaOperacaoSessao ( "admin/html/usuarios" ) == false) { | ||
39 | + header ( "HTTP/1.1 403 Vc nao pode realizar essa operacao" ); | ||
40 | + exit (); | ||
41 | + } | ||
42 | +} | ||
43 | +include (dirname ( __FILE__ ) . "/../../../admin/php/conexao.php"); | ||
44 | +$funcao = strtoupper ( $funcao ); | ||
45 | +// converte os parametros de definicao dos papeis em um array | ||
46 | +if ($funcao == "ADICIONARGRUPO" || $funcao == "ALTERARGRUPO") { | ||
47 | + $usuarios = array (); | ||
48 | + foreach ( array_keys ( $_POST ) as $k ) { | ||
49 | + $teste = explode ( "-", $k ); | ||
50 | + if ($teste[0] == "id_usuario") { | ||
51 | + $usuarios[] = $teste[1] * 1; | ||
52 | + } | ||
53 | + } | ||
54 | + array_unique ( $usuarios ); | ||
55 | +} | ||
56 | +switch ($funcao) { | ||
57 | + case "ADICIONARGRUPO" : | ||
58 | + $novo = adicionarGrupo( $nome,$descricao, $usuarios, $dbhw ); | ||
59 | + if ($novo != false) { | ||
60 | + $sql = "SELECT * from " . $esquemaadmin . "i3geousr_grupos WHERE id_grupo = " . $novo; | ||
61 | + $dados = pegaDados ( $sql, $dbh ); | ||
62 | + if ($dados == false) { | ||
63 | + header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); | ||
64 | + exit (); | ||
65 | + } | ||
66 | + retornaJSON ( $dados ); | ||
67 | + } else { | ||
68 | + header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); | ||
69 | + exit (); | ||
70 | + } | ||
71 | + exit (); | ||
72 | + break; | ||
73 | + case "ALTERARGRUPO" : | ||
74 | + $novo = alterarGrupo ( $id_grupo, $nome, $descricao, $usuarios, $dbhw ); | ||
75 | + if ($novo == false) { | ||
76 | + header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); | ||
77 | + exit (); | ||
78 | + } | ||
79 | + $sql = "SELECT * from " . $esquemaadmin . "i3geousr_grupos WHERE id_grupo = " . $novo; | ||
80 | + $dados = pegaDados ( $sql, $dbh ); | ||
81 | + if ($dados == false) { | ||
82 | + header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); | ||
83 | + exit (); | ||
84 | + } | ||
85 | + retornaJSON ( $dados ); | ||
86 | + exit (); | ||
87 | + break; | ||
88 | + case "PEGAGRUPOSEUSUARIOS" : | ||
89 | + $grupos = pegaDados ( "SELECT id_grupo,nome,descricao from ".$esquemaadmin."i3geousr_grupos order by nome", $dbh, false ); | ||
90 | + $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 ); | ||
91 | + if ($usuarios == false || $grupos == false) { | ||
92 | + $dbhw = null; | ||
93 | + $dbh = null; | ||
94 | + header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); | ||
95 | + exit (); | ||
96 | + } | ||
97 | + $o = array (); | ||
98 | + foreach ( $grupos as $grupo ) { | ||
99 | + $p = array (); | ||
100 | + foreach ( $usuarios as $usuario ) { | ||
101 | + if ($usuario["id_grupo"] == $grupo["id_grupo"]) { | ||
102 | + $p[$usuario["id_usuario"]] = $usuario; | ||
103 | + } | ||
104 | + } | ||
105 | + $grupo["usuarios"] = $p; | ||
106 | + $o[] = $grupo; | ||
107 | + } | ||
108 | + $usuarios = pegaDados ( "SELECT id_usuario, login, nome_usuario from " . $esquemaadmin . "i3geousr_usuarios WHERE ativo = 1 order by login", $dbh ); | ||
109 | + $dbhw = null; | ||
110 | + $dbh = null; | ||
111 | + if ($usuarios == false) { | ||
112 | + header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); | ||
113 | + exit(); | ||
114 | + } | ||
115 | + retornaJSON ( array ( | ||
116 | + "grupos" => $o, | ||
117 | + "usuarios" => $usuarios | ||
118 | + ) ); | ||
119 | + break; | ||
120 | + case "EXCLUIRGRUPO" : | ||
121 | + $retorna = excluirGrupo ( $id_grupo, $dbhw ); | ||
122 | + $dbhw = null; | ||
123 | + $dbh = null; | ||
124 | + if ($retorna == false) { | ||
125 | + header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); | ||
126 | + exit (); | ||
127 | + } | ||
128 | + retornaJSON ( $id_grupo ); | ||
129 | + exit (); | ||
130 | + break; | ||
131 | +} | ||
132 | +cpjson ( $retorno ); | ||
133 | +// $usuarios deve ser um array | ||
134 | +function adicionarGrupo($nome, $descricao, $usuarios, $dbhw) { | ||
135 | + global $esquemaadmin; | ||
136 | + try { | ||
137 | + $dataCol = array( | ||
138 | + "nome" => '', | ||
139 | + "descricao" => '' | ||
140 | + ); | ||
141 | + $id_grupo = i3GeoAdminInsertUnico ( $dbhw, "i3geousr_grupos", $dataCol, "nome", "id_grupo" ); | ||
142 | + $retorna = alterarGrupo ( $id_grupo, $nome, $descricao, $usuarios, $dbhw ); | ||
143 | + return $retorna; | ||
144 | + } catch ( PDOException $e ) { | ||
145 | + return false; | ||
146 | + } | ||
147 | +} | ||
148 | +// $papeis deve ser um array | ||
149 | +function alterarGrupo($id_grupo, $nome, $descricao, $usuarios, $dbhw) { | ||
150 | + global $esquemaadmin; | ||
151 | + if ($convUTF) { | ||
152 | + $nome = utf8_encode ( $nome ); | ||
153 | + $descricao = utf8_encode ( $descricao ); | ||
154 | + } | ||
155 | + $dataCol = array ( | ||
156 | + "nome" => $nome, | ||
157 | + "descricao" => $descricao | ||
158 | + ); | ||
159 | + | ||
160 | + $resultado = i3GeoAdminUpdate ( $dbhw, "i3geousr_grupos", $dataCol, "WHERE id_grupo = $id_grupo" ); | ||
161 | + if ($resultado == false) { | ||
162 | + return false; | ||
163 | + } | ||
164 | + // apaga todos os papeis | ||
165 | + $resultado = excluirUsuariosGrupo ( $id_grupo, $dbhw ); | ||
166 | + if ($resultado == false) { | ||
167 | + return false; | ||
168 | + } | ||
169 | + if (! empty ( $usuarios )) { | ||
170 | + // atualiza papeis vinculados | ||
171 | + foreach ( $usuarios as $p ) { | ||
172 | + $resultado = adicionaUsuarioGrupo ( $id_grupo, $p, $dbhw ); | ||
173 | + if ($resultado == false) { | ||
174 | + return false; | ||
175 | + } | ||
176 | + } | ||
177 | + } | ||
178 | + return $id_grupo; | ||
179 | +} | ||
180 | +function adicionaUsuarioGrupo($id_grupo, $id_usuario, $dbhw) { | ||
181 | + global $esquemaadmin; | ||
182 | + $dataCol = array ( | ||
183 | + "id_usuario" => $id_usuario, | ||
184 | + "id_grupo" => $id_grupo | ||
185 | + ); | ||
186 | + $resultado = i3GeoAdminInsert ( $dbhw, "i3geousr_grupousuario", $dataCol ); | ||
187 | + return $resultado; | ||
188 | +} | ||
189 | +function excluirGrupo($id_grupo, $dbhw) { | ||
190 | + global $esquemaadmin; | ||
191 | + $resultado = exclui ( $esquemaadmin . "i3geousr_grupos", "id_grupo", $id_grupo, $dbhw, false ); | ||
192 | + if ($resultado == false) { | ||
193 | + return false; | ||
194 | + } | ||
195 | + if ($resultado == true) { | ||
196 | + $resultado = excluirUsuariosGrupo ( $id_grupo, $dbhw ); | ||
197 | + } | ||
198 | + return $resultado; | ||
199 | +} | ||
200 | +function excluirUsuariosGrupo($id_grupo, $dbhw) { | ||
201 | + global $esquemaadmin; | ||
202 | + $resultado = exclui ( $esquemaadmin . "i3geousr_grupousuario", "id_grupo", $id_grupo, $dbhw, false ); | ||
203 | + return $resultado; | ||
204 | +} | ||
205 | +?> |
@@ -0,0 +1,243 @@ | @@ -0,0 +1,243 @@ | ||
1 | +/* | ||
2 | +Licenca: | ||
3 | + | ||
4 | +GPL2 | ||
5 | + | ||
6 | +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | ||
7 | + | ||
8 | +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil | ||
9 | +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | ||
10 | + | ||
11 | +Este programa é software livre; você pode redistribuí-lo | ||
12 | +e/ou modificá-lo sob os termos da Licença Pública Geral | ||
13 | +GNU conforme publicada pela Free Software Foundation; | ||
14 | + | ||
15 | +Este programa é distribuído na expectativa de que seja útil, | ||
16 | +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | ||
17 | +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | ||
18 | +Consulte a Licença Pública Geral do GNU para mais detalhes. | ||
19 | +Você deve ter recebido uma cópia da Licença Pública Geral do | ||
20 | +GNU junto com este programa; se não, escreva para a | ||
21 | +Free Software Foundation, Inc., no endereço | ||
22 | +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | ||
23 | + | ||
24 | + */ | ||
25 | +i3GEOadmin.gruposusuarios = { | ||
26 | + //variavel global indicando o elemento que recebera a lista de usuarios | ||
27 | + ondeListaGrupos: "", | ||
28 | + //conteudo html do formulario de adicao de operacao | ||
29 | + formAdicionaUsuario: "", | ||
30 | + init: function(onde){ | ||
31 | + i3GEOadmin.gruposusuarios.ondeListaGrupos = onde; | ||
32 | + i3GEOadmin.gruposusuarios.pegaGrupos(); | ||
33 | + }, | ||
34 | + /* | ||
35 | +Function: pegaGrupos | ||
36 | + | ||
37 | +Obtém a lista de grupos | ||
38 | + */ | ||
39 | + pegaGrupos: function(){ | ||
40 | + i3GEOadmin.core.iconeAguarde(i3GEOadmin.gruposusuarios.ondeListaGrupos); | ||
41 | + $.post( | ||
42 | + "exec.php?funcao=pegaGruposEusuarios" | ||
43 | + ) | ||
44 | + .done( | ||
45 | + function(data, status){ | ||
46 | + //valor do filtro atual | ||
47 | + var filtro = i3GEOadmin.gruposusuarios.valorFiltro(); | ||
48 | + //objeto json com os dados viondos do banco | ||
49 | + var json = jQuery.parseJSON(data); | ||
50 | + //template dos checkbox | ||
51 | + var templateUsuarios = $("#templateInputUsuarios").html(); | ||
52 | + //template do form de cada operacao | ||
53 | + var templateGrupos = $("#templateGrupos").html(); | ||
54 | + //lista todas as usuarios | ||
55 | + var html = Mustache.to_html( | ||
56 | + "{{#data}}" + templateGrupos + "{{/data}}", | ||
57 | + $.extend( | ||
58 | + i3GEOadmin.gruposusuarios.dicionario, | ||
59 | + { | ||
60 | + "data": json["grupos"], | ||
61 | + "onExcluir": "i3GEOadmin.gruposusuarios.excluirGrupoDialogo",//funcao | ||
62 | + "onSalvar": "i3GEOadmin.gruposusuarios.salvarGrupoDialogo",//funcao | ||
63 | + "excluir": i3GEOadmin.gruposusuarios.dicionario.excluir, | ||
64 | + "inputUsuarios": function(){ | ||
65 | + //marca os checkbox | ||
66 | + var p = this.usuarios; | ||
67 | + $(json["usuarios"]).each( | ||
68 | + function(i,el){ | ||
69 | + console.info(p) | ||
70 | + if(p && el.id_usuario && p[el.id_usuario]){ | ||
71 | + json["usuarios"][i]["checked"] = "checked"; | ||
72 | + } | ||
73 | + else{ | ||
74 | + json["usuarios"][i]["checked"] = ""; | ||
75 | + } | ||
76 | + } | ||
77 | + ); | ||
78 | + return Mustache.to_html( | ||
79 | + "{{#data}}" + templateUsuarios + "{{/data}}", | ||
80 | + { | ||
81 | + "data":json["usuarios"] | ||
82 | + } | ||
83 | + ); | ||
84 | + } | ||
85 | + } | ||
86 | + ) | ||
87 | + ); | ||
88 | + i3GEOadmin.gruposusuarios.ondeListaGrupos.html(html); | ||
89 | + //filtro | ||
90 | + html = Mustache.to_html( | ||
91 | + "{{#data}}" + $("#templateFiltro").html() + "{{/data}}", | ||
92 | + {"data":json["grupos"]} | ||
93 | + ); | ||
94 | + $("#filtro").html("<option value='' >---</option>" + html); | ||
95 | + if(filtro != ""){ | ||
96 | + i3GEOadmin.gruposusuarios.defineFiltro(filtro); | ||
97 | + i3GEOadmin.gruposusuarios.filtra(i3GEOadmin.gruposusuarios.pegaFiltro()); | ||
98 | + } | ||
99 | + //monta um template para o modal de inclusao de novo usuario | ||
100 | + html = Mustache.to_html( | ||
101 | + $("#templateGrupos").html(), | ||
102 | + $.extend( | ||
103 | + i3GEOadmin.gruposusuarios.dicionario, | ||
104 | + { | ||
105 | + "id_grupo": "modal", | ||
106 | + "excluir": i3GEOadmin.gruposusuarios.dicionario.cancelar, | ||
107 | + "onExcluir": "i3GEOadmin.core.fechaModalGeral",//funcao | ||
108 | + "onSalvar": "i3GEOadmin.gruposusuarios.adicionaGrupo",//funcao | ||
109 | + "nome": "", | ||
110 | + "descricao": "", | ||
111 | + "inputUsuarios": function(){ | ||
112 | + return Mustache.to_html( | ||
113 | + "{{#data}}" + templateUsuarios + "{{/data}}", | ||
114 | + { | ||
115 | + "data":json["usuarios"] | ||
116 | + } | ||
117 | + ); | ||
118 | + } | ||
119 | + } | ||
120 | + ) | ||
121 | + ); | ||
122 | + i3GEOadmin.gruposusuarios.formAdicionaGrupo = html; | ||
123 | + $.material.init(); | ||
124 | + } | ||
125 | + ) | ||
126 | + .fail(function(data){ | ||
127 | + i3GEOadmin.gruposusuarios.ondeListaGrupos.html(""); | ||
128 | + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); | ||
129 | + }); | ||
130 | + }, | ||
131 | + adicionaGrupoDialogo: function(){ | ||
132 | + i3GEOadmin.core.abreModalGeral(i3GEOadmin.gruposusuarios.formAdicionaGrupo); | ||
133 | + }, | ||
134 | +// os parametros sao obtidos do formulario aberto do modal | ||
135 | + adicionaGrupo: function(){ | ||
136 | + var parametros = $("#form-modal form").serialize(); | ||
137 | + i3GEOadmin.core.fechaModalGeral(); | ||
138 | + i3GEOadmin.core.modalAguarde(true); | ||
139 | + $.post( | ||
140 | + "exec.php?funcao=adicionarGrupo", | ||
141 | + parametros | ||
142 | + ) | ||
143 | + .done( | ||
144 | + function(data, status){ | ||
145 | + i3GEOadmin.core.modalAguarde(false); | ||
146 | + i3GEOadmin.core.iconeAguarde(i3GEOadmin.gruposusuarios.ondeListaGrupos); | ||
147 | + i3GEOadmin.gruposusuarios.pegaGrupos(); | ||
148 | + } | ||
149 | + ) | ||
150 | + .fail( | ||
151 | + function(data){ | ||
152 | + i3GEOadmin.core.modalAguarde(false); | ||
153 | + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); | ||
154 | + } | ||
155 | + ); | ||
156 | + }, | ||
157 | + excluirGrupoDialogo: function(id_grupo){ | ||
158 | + var hash = { | ||
159 | + "mensagem": i3GEOadmin.gruposusuarios.dicionario.confirma, | ||
160 | + "onBotao1": "i3GEOadmin.gruposusuarios.excluirGrupo('"+id_grupo+"')", | ||
161 | + "botao1": i3GEOadmin.gruposusuarios.dicionario.sim, | ||
162 | + "onBotao2": "i3GEOadmin.core.fechaModalConfirma();", | ||
163 | + "botao2": i3GEOadmin.gruposusuarios.dicionario.nao | ||
164 | + }; | ||
165 | + i3GEOadmin.core.abreModalConfirma(hash); | ||
166 | + }, | ||
167 | + excluirGrupo: function(id_grupo){ | ||
168 | + i3GEOadmin.core.modalAguarde(true); | ||
169 | + $.post( | ||
170 | + "exec.php?funcao=excluirGrupo", | ||
171 | + "id_grupo="+id_grupo | ||
172 | + ) | ||
173 | + .done( | ||
174 | + function(data, status){ | ||
175 | + i3GEOadmin.core.modalAguarde(false); | ||
176 | + var json = jQuery.parseJSON(data)*1; | ||
177 | + $("#form-" + json).remove(); | ||
178 | + } | ||
179 | + ) | ||
180 | + .fail( | ||
181 | + function(data){ | ||
182 | + i3GEOadmin.core.modalAguarde(false); | ||
183 | + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); | ||
184 | + } | ||
185 | + ); | ||
186 | + }, | ||
187 | + salvarGrupoDialogo: function(id_grupo){ | ||
188 | + var hash = { | ||
189 | + "mensagem": i3GEOadmin.gruposusuarios.dicionario.confirma, | ||
190 | + "onBotao1": "i3GEOadmin.gruposusuarios.salvarGrupo('"+id_grupo+"')", | ||
191 | + "botao1": i3GEOadmin.gruposusuarios.dicionario.sim, | ||
192 | + "onBotao2": "i3GEOadmin.core.fechaModalConfirma();", | ||
193 | + "botao2": i3GEOadmin.gruposusuarios.dicionario.nao | ||
194 | + }; | ||
195 | + i3GEOadmin.core.abreModalConfirma(hash); | ||
196 | + }, | ||
197 | + salvarGrupo: function(id_grupo){ | ||
198 | + var parametros = $("#form-" + id_grupo + " form").serialize(); | ||
199 | + i3GEOadmin.core.fechaModalGeral(); | ||
200 | + i3GEOadmin.core.modalAguarde(true); | ||
201 | + $.post( | ||
202 | + "exec.php?funcao=alterarGrupo", | ||
203 | + "id_grupo="+ id_grupo+"&"+parametros | ||
204 | + ) | ||
205 | + .done( | ||
206 | + function(data, status){ | ||
207 | + i3GEOadmin.core.modalAguarde(false); | ||
208 | + i3GEOadmin.core.iconeAguarde(i3GEOadmin.gruposusuarios.ondeListaGrupos); | ||
209 | + i3GEOadmin.gruposusuarios.pegaGrupos(); | ||
210 | + } | ||
211 | + ) | ||
212 | + .fail( | ||
213 | + function(data){ | ||
214 | + i3GEOadmin.core.modalAguarde(false); | ||
215 | + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); | ||
216 | + } | ||
217 | + ); | ||
218 | + }, | ||
219 | + pegaFiltro: function(){ | ||
220 | + return $i("filtro"); | ||
221 | + }, | ||
222 | + valorFiltro: function(){ | ||
223 | + return i3GEOadmin.gruposusuarios.pegaFiltro().value; | ||
224 | + }, | ||
225 | + defineFiltro: function(valor){ | ||
226 | + i3GEOadmin.gruposusuarios.pegaFiltro().value = valor; | ||
227 | + }, | ||
228 | + filtra: function(obj){ | ||
229 | + $("#corpo .panel").each( | ||
230 | + function(i,el){ | ||
231 | + if(obj.value == ""){ | ||
232 | + $(el).show(); | ||
233 | + } | ||
234 | + else { | ||
235 | + $(el).hide(); | ||
236 | + } | ||
237 | + } | ||
238 | + ); | ||
239 | + if(obj.value != ""){ | ||
240 | + $("#"+obj.value).show(); | ||
241 | + } | ||
242 | + } | ||
243 | +}; | ||
0 | \ No newline at end of file | 244 | \ No newline at end of file |
admin1/usuarios/grupos/index.php
@@ -10,16 +10,97 @@ include "../../head.php"; | @@ -10,16 +10,97 @@ include "../../head.php"; | ||
10 | <li><a href="../../init/index.php">i3Geo</a></li> | 10 | <li><a href="../../init/index.php">i3Geo</a></li> |
11 | <li><a href="../../index.php">Admin</a></li> | 11 | <li><a href="../../index.php">Admin</a></li> |
12 | <li>Usuários</li> | 12 | <li>Usuários</li> |
13 | - <li class="active">Grupos</li> | 13 | + <li class="active">Grupos e usuários</li> |
14 | </ol> | 14 | </ol> |
15 | </div> | 15 | </div> |
16 | - | ||
17 | </div> | 16 | </div> |
18 | -<div class="container-fluid"> | ||
19 | - <div class="row"> | ||
20 | - <iframe src="../../../admin/html/gruposusuarios_.html" style="width:100%; height:5000px;border:none; scrolling:no; frameborder:0; marginheight:0; marginwidth:0;" ></iframe> | 17 | +<div class="container"> |
18 | + <div class="row center-block"> | ||
19 | + <div class="col-md-12"> | ||
20 | + <div class="well hidden" id="titulo"> | ||
21 | + <!-- | ||
22 | + <button data-toggle="modal" data-target="#ajudaPrincipal" | ||
23 | + class="btn btn-primary btn-fab btn-fab-mini pull-right"> | ||
24 | + <i class="material-icons">help</i> | ||
25 | + </button> | ||
26 | + --> | ||
27 | + <h3>{{{gruposusuarios}}}</h3> | ||
28 | + <h4>{{{txtAjuda}}}</h4> | ||
29 | + <!-- aqui entra o filtro --> | ||
30 | + <div class="form-group"> | ||
31 | + <label class="control-label">{{{filtro}}}</label> | ||
32 | + <select onchange="i3GEOadmin.gruposusuarios.filtra(this)" id="filtro" class="form-control input-lg"> | ||
33 | + </select> | ||
34 | + </div> | ||
35 | + | ||
36 | + <div class="row pull-right"> | ||
37 | + <a onclick="i3GEOadmin.gruposusuarios.adicionaGrupoDialogo();" href="javascript:void(0)" class="btn btn-primary" role="button">{{{adicionar}}}</a> | ||
38 | + </div> | ||
39 | + <div class="clearfix"></div> | ||
40 | + <!--Modal ajuda | ||
41 | + <div id="ajudaPrincipal" class="modal fade" tabindex="-1"> | ||
42 | + <div class="modal-dialog"> | ||
43 | + <div class="modal-content"> | ||
44 | + <div class="modal-body"> | ||
45 | + <p>{{{txtGrupos}}}</p> | ||
46 | + </div> | ||
47 | + </div> | ||
48 | + </div> | ||
49 | + </div> | ||
50 | + --> | ||
51 | + </div> | ||
52 | + <div class="well hidden"> | ||
53 | + <div id="corpo"> | ||
54 | + </div> | ||
55 | + </div> | ||
56 | + </div> | ||
57 | + </div> | ||
21 | </div> | 58 | </div> |
59 | +<script id="templateFiltro" type="x-tmpl-mustache"> | ||
60 | +<option value="form-{{id_grupo}}">{{{nome}}}</option> | ||
61 | +</script> | ||
62 | +<script id="templateGrupos" type="x-tmpl-mustache"> | ||
63 | +<div class="panel panel-default" id="form-{{id_grupo}}"> | ||
64 | + <div class="panel-body"> | ||
65 | + <form style="" onchange="this.style.boxShadow='2px 2px 5px 0 #009688';" class="form" role="form" method="post" action="" > | ||
66 | + <div class="row"> | ||
67 | + <div class="col-md-4" style="max-height: 230px; overflow-y: auto;"> | ||
68 | + <h4> {{{usuariosv}}}</h4> | ||
69 | + <div class="form-group form-group-lg" style="padding-left:5px;">{{{inputUsuarios}}}</div> | ||
70 | + </div> | ||
71 | + <div class="col-md-8"> | ||
72 | + <h4>{{{grupo}}}</h4> | ||
73 | + <div class="form-group form-group-lg"> | ||
74 | + <label class="col-md-2 control-label" for="nome" >{{{labelNome}}}</label> | ||
75 | + <div class="col-md-10"> | ||
76 | + <input type="text" value="{{{nome}}}" class="form-control" name="nome" required> | ||
77 | + </div> | ||
78 | + </div> | ||
79 | + <div class="form-group form-group-lg"> | ||
80 | + <label class="col-md-2 control-label" for="login">{{{labelDescricao}}}</label> | ||
81 | + <div class="col-md-10"> | ||
82 | + <input type="text" value="{{{descricao}}}" class="form-control" name="descricao"> | ||
83 | + </div> | ||
84 | + </div> | ||
85 | + </div> | ||
86 | + </div> | ||
87 | + </form> | ||
88 | + <div class="pull-right"> | ||
89 | + <a href="javascript:void(0)" onclick="{{onExcluir}}('{{id_grupo}}')" class="btn btn-danger" role="button">{{excluir}}</a> | ||
90 | + <a href="javascript:void(0)" onclick="{{onSalvar}}('{{id_grupo}}')" class="btn btn-primary" role="button">{{salvar}}</a> | ||
91 | + </div> | ||
92 | + </div> | ||
22 | </div> | 93 | </div> |
94 | +</script> | ||
95 | +<script id="templateInputUsuarios" type="x-tmpl-mustache"> | ||
96 | + <div class="checkbox"> | ||
97 | + <label> | ||
98 | + <input type="checkbox" {{checked}} name="id_usuario-{{{id_usuario}}}" /> <abbr title="{{{nome_usuario}}}">{{{login}}}</abbr> | ||
99 | + </label> | ||
100 | + </div> | ||
101 | +</script> | ||
102 | +<script type="text/javascript" src="index.js"></script> | ||
103 | +<script type="text/javascript" src="../../dicionario/gruposusuarios.js"></script> | ||
23 | <script> | 104 | <script> |
24 | $(document).ready(function(){ | 105 | $(document).ready(function(){ |
25 | //vem de admin1/index.js | 106 | //vem de admin1/index.js |
@@ -30,7 +111,36 @@ include "../../head.php"; | @@ -30,7 +111,36 @@ include "../../head.php"; | ||
30 | $(this).parent().siblings().removeClass('open'); | 111 | $(this).parent().siblings().removeClass('open'); |
31 | $(this).parent().toggleClass('open'); | 112 | $(this).parent().toggleClass('open'); |
32 | }); | 113 | }); |
114 | + //traducao | ||
115 | + var t = $("#titulo"); | ||
116 | + //complementa dicionario | ||
117 | + i3GEOadmin.gruposusuarios.dicionario.adicionar = i3GEOadmin.core.dicionario.adicionar; | ||
118 | + i3GEOadmin.gruposusuarios.dicionario.filtro = i3GEOadmin.core.dicionario.filtro; | ||
119 | + i3GEOadmin.gruposusuarios.dicionario.excluir = i3GEOadmin.core.dicionario.excluir; | ||
120 | + i3GEOadmin.gruposusuarios.dicionario.salvar = i3GEOadmin.core.dicionario.salva; | ||
121 | + i3GEOadmin.gruposusuarios.dicionario.sim = i3GEOadmin.core.dicionario.sim; | ||
122 | + i3GEOadmin.gruposusuarios.dicionario.nao = i3GEOadmin.core.dicionario.nao; | ||
123 | + i3GEOadmin.gruposusuarios.dicionario.cancelar = i3GEOadmin.core.dicionario.cancelar; | ||
124 | + i3GEOadmin.gruposusuarios.dicionario.confirma = i3GEOadmin.core.dicionario.confirma; | ||
125 | + i3GEOadmin.gruposusuarios.dicionario.labelNome = i3GEOadmin.core.dicionario.nome; | ||
126 | + i3GEOadmin.gruposusuarios.dicionario.labelDescricao = i3GEOadmin.core.dicionario.descricao; | ||
127 | + | ||
128 | + i3GEOadmin.core.dicionario = null; | ||
129 | + | ||
130 | + i3GEOadmin.gruposusuarios.dicionario = i3GEO.idioma.objetoIdioma(i3GEOadmin.gruposusuarios.dicionario); | ||
131 | + | ||
132 | + t.html( | ||
133 | + Mustache.to_html( | ||
134 | + t.html(), | ||
135 | + i3GEOadmin.gruposusuarios.dicionario | ||
136 | + ) | ||
137 | + ); | ||
33 | $.material.init(); | 138 | $.material.init(); |
139 | + var inicia = function() { | ||
140 | + $(".hidden").removeClass('hidden'); | ||
141 | + i3GEOadmin.gruposusuarios.init($("#corpo")); | ||
142 | + }; | ||
143 | + i3GEO.login.verificaOperacao("admin/html/usuarios",i3GEO.configura.locaplic, inicia, "sessao"); | ||
34 | }); | 144 | }); |
35 | </script> | 145 | </script> |
36 | </body> | 146 | </body> |