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 | -<!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 | 241 | es : "" |
242 | 242 | } ], |
243 | 243 | 'nome' : [ { |
244 | - pt : "nome", | |
244 | + pt : "Nome", | |
245 | 245 | en : "", |
246 | 246 | es : "" |
247 | 247 | } ], |
248 | 248 | 'descricao' : [ { |
249 | - pt : "descrição", | |
249 | + pt : "Descrição", | |
250 | 250 | en : "", |
251 | 251 | es : "" |
252 | 252 | } ], | ... | ... |
admin1/dicionario/gruposusuarios.js
1 | 1 | //+$trad(1,i3GEOadmin.editormapfile.dicionario)+ |
2 | -i3GEOadmin.gruposusuarios = {}; | |
3 | 2 | i3GEOadmin.gruposusuarios.dicionario = { |
4 | 3 | 'gruposusuarios' : [ { |
5 | 4 | pt : "Administração do i3geo - Grupos de usuários", |
... | ... | @@ -66,13 +65,13 @@ i3GEOadmin.gruposusuarios.dicionario = { |
66 | 65 | en : "", |
67 | 66 | es : "" |
68 | 67 | } ], |
69 | - '' : [ { | |
70 | - pt : "", | |
68 | + 'usuariosv' : [ { | |
69 | + pt : "Usuários vinculados", | |
71 | 70 | en : "", |
72 | 71 | es : "" |
73 | 72 | } ], |
74 | - '' : [ { | |
75 | - pt : "", | |
73 | + 'grupo' : [ { | |
74 | + pt : "Grupo", | |
76 | 75 | en : "", |
77 | 76 | es : "" |
78 | 77 | } ], | ... | ... |
admin1/usuarios/cadastro/exec.php
... | ... | @@ -58,7 +58,7 @@ switch ($funcao) { |
58 | 58 | case "ADICIONARUSUARIO" : |
59 | 59 | $novo = adicionarUsuario( $ativo, $data_cadastro, $email, $login, $nome_usuario, $senha, $papeis, $dbhw ); |
60 | 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 | 62 | $dados = pegaDados ( $sql, $dbh ); |
63 | 63 | if ($dados == false) { |
64 | 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 | 161 | .done( |
162 | 162 | function(data, status){ |
163 | 163 | i3GEOadmin.core.modalAguarde(false); |
164 | - i3GEOadmin.core.iconeAguarde(ondeListaUsuarios); | |
164 | + i3GEOadmin.core.iconeAguarde(i3GEOadmin.usuarios.ondeListaUsuarios); | |
165 | 165 | i3GEOadmin.usuarios.pegaUsuarios(); |
166 | 166 | } |
167 | 167 | ) |
... | ... | @@ -223,7 +223,7 @@ Obt&eacute;m a lista de usuarios |
223 | 223 | .done( |
224 | 224 | function(data, status){ |
225 | 225 | i3GEOadmin.core.modalAguarde(false); |
226 | - i3GEOadmin.core.iconeAguarde(ondeListaUsuarios); | |
226 | + i3GEOadmin.core.iconeAguarde(i3GEOadmin.usuarios.ondeListaUsuarios); | |
227 | 227 | i3GEOadmin.usuarios.pegaUsuarios(); |
228 | 228 | } |
229 | 229 | ) | ... | ... |
admin1/usuarios/cadastro/index.php
... | ... | @@ -149,14 +149,9 @@ include "../../head.php"; |
149 | 149 | i3GEOadmin.usuarios.dicionario.filtro = i3GEOadmin.core.dicionario.filtro; |
150 | 150 | i3GEOadmin.usuarios.dicionario.excluir = i3GEOadmin.core.dicionario.excluir; |
151 | 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 | 152 | i3GEOadmin.usuarios.dicionario.sim = i3GEOadmin.core.dicionario.sim; |
157 | 153 | i3GEOadmin.usuarios.dicionario.nao = i3GEOadmin.core.dicionario.nao; |
158 | 154 | i3GEOadmin.usuarios.dicionario.cancelar = i3GEOadmin.core.dicionario.cancelar; |
159 | - i3GEOadmin.usuarios.dicionario.dataCadastro = i3GEOadmin.usuarios.dicionario.dataCadastro; | |
160 | 155 | i3GEOadmin.usuarios.dicionario.confirma = i3GEOadmin.core.dicionario.confirma; |
161 | 156 | |
162 | 157 | i3GEOadmin.core.dicionario = null; | ... | ... |
... | ... | @@ -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 @@ |
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 | 244 | \ No newline at end of file | ... | ... |
admin1/usuarios/grupos/index.php
... | ... | @@ -10,16 +10,97 @@ include "../../head.php"; |
10 | 10 | <li><a href="../../init/index.php">i3Geo</a></li> |
11 | 11 | <li><a href="../../index.php">Admin</a></li> |
12 | 12 | <li>Usuários</li> |
13 | - <li class="active">Grupos</li> | |
13 | + <li class="active">Grupos e usuários</li> | |
14 | 14 | </ol> |
15 | 15 | </div> |
16 | - | |
17 | 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 | 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 | 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 | 104 | <script> |
24 | 105 | $(document).ready(function(){ |
25 | 106 | //vem de admin1/index.js |
... | ... | @@ -30,7 +111,36 @@ include "../../head.php"; |
30 | 111 | $(this).parent().siblings().removeClass('open'); |
31 | 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 | 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 | 145 | </script> |
36 | 146 | </body> | ... | ... |