Commit 67023747268162950c48e1a3654e3c54dca7f126
1 parent
cdb9721e
Exists in
master
and in
7 other branches
Inclusão da listagem de dados no editor de tabelas do sistema metaestat
Showing
3 changed files
with
129 additions
and
81 deletions
Show diff stats
admin/js/estat_editor.js
... | ... | @@ -17,7 +17,7 @@ i3GEOadmin.editor = { |
17 | 17 | verificaEsquema: function(nomeEsquema){ |
18 | 18 | if(nomeEsquema != "i3geo_metaestat"){ |
19 | 19 | alert("Operacao permitida apenas para o esquema i3geo_metaestat"); |
20 | - return; | |
20 | + return false; | |
21 | 21 | } |
22 | 22 | }, |
23 | 23 | conexao:{ |
... | ... | @@ -86,11 +86,10 @@ i3GEOadmin.editor = { |
86 | 86 | temp += core_comboObjeto(dados,"tabela","tabela"); |
87 | 87 | temp += "</select>"; |
88 | 88 | temp += "" + |
89 | - "<p>Digite um nome: <input id='i3GEOadmintabelaNomeNovo' title='digite o nome' type=text width=30 style='cursor:text' />" + | |
90 | - "<p><input type=button value='Criar tabela' id='i3GEOadmintabelaCriar' onclick='i3GEOadmin.editor.tabela.criar()'/>" + | |
91 | - "<input type=button value='Alterar nome atual' id='i3GEOadmintabelaAlterarNome' onclick='i3GEOadmin.editor.tabela.alterarNome()'/>" + | |
92 | - "<input type=button value='Copiar para' id='i3GEOadmintabelaCopiar' onclick='i3GEOadmin.editor.tabela.copiar()'/>"; | |
93 | - | |
89 | + "<p><input type=button value='Mostrar os dados' id='i3GEOadmintabelaMostrar' onclick='i3GEOadmin.editor.tabela.mostrar()'/>" + | |
90 | + "<input type=button value='Criar uma nova tabela' id='i3GEOadmintabelaCriar' onclick='i3GEOadmin.editor.tabela.criar()'/>" + | |
91 | + "<input type=button value='Alterar nome atual' id='i3GEOadmintabelaAlterarNome' onclick='i3GEOadmin.editor.tabela.alterarNome()'/>" + | |
92 | + "<input type=button value='Copiar para' id='i3GEOadmintabelaCopiar' onclick='i3GEOadmin.editor.tabela.copiar()'/>"; | |
94 | 93 | $i(i3GEOadmin.editor.tabela.onde).innerHTML = temp+"</fieldset>"; |
95 | 94 | core_carregando("desativa"); |
96 | 95 | $i(i3GEOadmin.editor.coluna.onde).innerHTML = ""; |
... | ... | @@ -112,9 +111,6 @@ i3GEOadmin.editor = { |
112 | 111 | core_makeRequest("../php/metaestat.php?funcao=tabelasEsquema&formato=json&nome_esquema="+nome_esquema+"&codigo_estat_conexao="+codigo_estat_conexao,callback); |
113 | 112 | }, |
114 | 113 | criar: function(){ |
115 | - if(!window.confirm("Cria nova tabela?")){ | |
116 | - return; | |
117 | - } | |
118 | 114 | var callback = { |
119 | 115 | success:function(o){ |
120 | 116 | try { |
... | ... | @@ -126,25 +122,25 @@ i3GEOadmin.editor = { |
126 | 122 | failure:core_handleFailure, |
127 | 123 | argument: { foo:"foo", bar:"bar" } |
128 | 124 | }, |
129 | - novaTabela = $i("i3GEOadmintabelaNomeNovo").value, | |
125 | + novaTabela = "", | |
130 | 126 | nomeEsquema = $i("i3GEOadminesquema").value; |
131 | 127 | if(i3GEOadmin.editor.verificaEsquema(nomeEsquema) == false){ |
132 | 128 | return; |
133 | 129 | } |
134 | - if(novaTabela == ""){ | |
135 | - alert("Digite um nome"); | |
136 | - return; | |
137 | - } | |
138 | - if(i3GEOadmin.editor.tabela.verificaExiste(novaTabela) == false){ | |
139 | - core_carregando("adicionando..."); | |
140 | - core_makeRequest("../php/metaestat.php?funcao=criaTabelaDB&formato=json&nome_tabela="+novaTabela+"&nome_esquema="+nomeEsquema+"&codigo_estat_conexao="+$i("i3GEOadmincodigo_estat_conexao").value,callback); | |
141 | - } | |
142 | - else{ | |
143 | - alert("Tabela ja existe"); | |
130 | + novaTabela = window.prompt("Novo nome:",""); | |
131 | + if (novaTabela!=null && novaTabela!=""){ | |
132 | + if(i3GEOadmin.editor.tabela.verificaExiste(novaTabela) == false){ | |
133 | + core_carregando("adicionando..."); | |
134 | + core_makeRequest("../php/metaestat.php?funcao=criaTabelaDB&formato=json&nome_tabela="+novaTabela+"&nome_esquema="+nomeEsquema+"&codigo_estat_conexao="+$i("i3GEOadmincodigo_estat_conexao").value,callback); | |
135 | + } | |
136 | + else{ | |
137 | + alert("Tabela ja existe"); | |
138 | + } | |
144 | 139 | } |
145 | 140 | }, |
146 | 141 | alterarNome: function(){ |
147 | - if(!window.confirm("Altera o nome?")){ | |
142 | + if($i("i3GEOadmintabela").value == ""){ | |
143 | + alert("Escolha a tabela"); | |
148 | 144 | return; |
149 | 145 | } |
150 | 146 | var callback = { |
... | ... | @@ -158,25 +154,25 @@ i3GEOadmin.editor = { |
158 | 154 | failure:core_handleFailure, |
159 | 155 | argument: { foo:"foo", bar:"bar" } |
160 | 156 | }, |
161 | - novaTabela = $i("i3GEOadmintabelaNomeNovo").value, | |
157 | + novaTabela = "", | |
162 | 158 | nomeEsquema = $i("i3GEOadminesquema").value; |
163 | 159 | if(i3GEOadmin.editor.verificaEsquema(nomeEsquema) == false){ |
164 | 160 | return; |
165 | 161 | } |
166 | - if(novaTabela == ""){ | |
167 | - alert("Digite um nome"); | |
168 | - return; | |
169 | - } | |
170 | - if(i3GEOadmin.editor.tabela.verificaExiste(novaTabela) == false){ | |
171 | - core_carregando("adicionando..."); | |
172 | - core_makeRequest("../php/metaestat.php?funcao=alteraNomeTabelaDB&formato=json&nome_tabela="+$i("i3GEOadmintabela").value+"&novonome_tabela="+novaTabela+"&nome_esquema="+nomeEsquema+"&codigo_estat_conexao="+$i("i3GEOadmincodigo_estat_conexao").value,callback); | |
173 | - } | |
174 | - else{ | |
175 | - alert("Tabela ja existe"); | |
162 | + novaTabela = window.prompt("Novo nome:",""); | |
163 | + if (novaTabela!=null && novaTabela!=""){ | |
164 | + if(i3GEOadmin.editor.tabela.verificaExiste(novaTabela) == false){ | |
165 | + core_carregando("adicionando..."); | |
166 | + core_makeRequest("../php/metaestat.php?funcao=alteraNomeTabelaDB&formato=json&nome_tabela="+$i("i3GEOadmintabela").value+"&novonome_tabela="+novaTabela+"&nome_esquema="+nomeEsquema+"&codigo_estat_conexao="+$i("i3GEOadmincodigo_estat_conexao").value,callback); | |
167 | + } | |
168 | + else{ | |
169 | + alert("Tabela ja existe"); | |
170 | + } | |
176 | 171 | } |
177 | 172 | }, |
178 | 173 | copiar: function(){ |
179 | - if(!window.confirm("Copiar tabela?")){ | |
174 | + if($i("i3GEOadmintabela").value == ""){ | |
175 | + alert("Escolha a tabela"); | |
180 | 176 | return; |
181 | 177 | } |
182 | 178 | var callback = { |
... | ... | @@ -190,22 +186,63 @@ i3GEOadmin.editor = { |
190 | 186 | failure:core_handleFailure, |
191 | 187 | argument: { foo:"foo", bar:"bar" } |
192 | 188 | }, |
193 | - novaTabela = $i("i3GEOadmintabelaNomeNovo").value, | |
189 | + novaTabela = "", | |
194 | 190 | nomeEsquema = $i("i3GEOadminesquema").value; |
195 | 191 | if(i3GEOadmin.editor.verificaEsquema(nomeEsquema) == false){ |
196 | 192 | return; |
197 | 193 | } |
198 | - if(novaTabela == ""){ | |
199 | - alert("Digite um nome"); | |
200 | - return; | |
201 | - } | |
202 | - if(i3GEOadmin.editor.tabela.verificaExiste(novaTabela) == false){ | |
203 | - core_carregando("adicionando..."); | |
204 | - core_makeRequest("../php/metaestat.php?funcao=copiaTabelaDB&formato=json&nome_tabela="+$i("i3GEOadmintabela").value+"&novonome_tabela="+novaTabela+"&nome_esquema="+nomeEsquema+"&codigo_estat_conexao="+$i("i3GEOadmincodigo_estat_conexao").value,callback); | |
194 | + novaTabela = window.prompt("Novo nome:",""); | |
195 | + if (novaTabela!=null && novaTabela!=""){ | |
196 | + if(i3GEOadmin.editor.tabela.verificaExiste(novaTabela) == false){ | |
197 | + core_carregando("adicionando..."); | |
198 | + core_makeRequest("../php/metaestat.php?funcao=copiaTabelaDB&formato=json&nome_tabela="+$i("i3GEOadmintabela").value+"&novonome_tabela="+novaTabela+"&nome_esquema="+nomeEsquema+"&codigo_estat_conexao="+$i("i3GEOadmincodigo_estat_conexao").value,callback); | |
199 | + } | |
200 | + else{ | |
201 | + alert("Tabela ja existe"); | |
202 | + } | |
205 | 203 | } |
206 | - else{ | |
207 | - alert("Tabela ja existe"); | |
204 | + }, | |
205 | + mostrar: function(){ | |
206 | + if($i("i3GEOadmintabela").value == ""){ | |
207 | + alert("Escolha a tabela"); | |
208 | + return; | |
208 | 209 | } |
210 | + var callback = { | |
211 | + success:function(o){ | |
212 | + try { | |
213 | + core_carregando("desativa"); | |
214 | + var dados = YAHOO.lang.JSON.parse(o.responseText), | |
215 | + ncolunas = dados.colunas.length, | |
216 | + linhas = dados.linhas, | |
217 | + nlinhas = linhas.length, | |
218 | + tabela = [], | |
219 | + i,j,l,w; | |
220 | + tabela.push("<head><body><table style='border:1px solid black'><tr>"); | |
221 | + for(i=0;i<ncolunas;i++){ | |
222 | + tabela.push("<td style='border:1px solid gray' >"+dados.colunas[i].field+"</td>"); | |
223 | + } | |
224 | + tabela.push("</tr>"); | |
225 | + for(i=0;i<nlinhas;i++){ | |
226 | + tabela.push("<tr>"); | |
227 | + l = linhas[i]; | |
228 | + for(j=0;j<ncolunas;j++){ | |
229 | + tabela.push("<td style='border:1px solid beige'>"+l[j]+"</td>"); | |
230 | + } | |
231 | + tabela.push("</tr>"); | |
232 | + } | |
233 | + tabela.push("</table></body></head>"); | |
234 | + w = window.open(); | |
235 | + w.document.write(tabela.join("")); | |
236 | + w.document.close(); | |
237 | + } | |
238 | + catch(e){core_handleFailure(e,o.responseText);} | |
239 | + }, | |
240 | + failure:core_handleFailure, | |
241 | + argument: { foo:"foo", bar:"bar" } | |
242 | + }, | |
243 | + nomeEsquema = $i("i3GEOadminesquema").value; | |
244 | + core_carregando("obtendo dados..."); | |
245 | + core_makeRequest("../php/metaestat.php?funcao=obtemDadosTabelaDB&formato=json&nome_tabela="+$i("i3GEOadmintabela").value+"&nome_esquema="+nomeEsquema+"&codigo_estat_conexao="+$i("i3GEOadmincodigo_estat_conexao").value,callback); | |
209 | 246 | }, |
210 | 247 | verificaExiste: function(valor){ |
211 | 248 | var combo = $i("i3GEOadmintabela"), |
... | ... | @@ -231,11 +268,8 @@ i3GEOadmin.editor = { |
231 | 268 | temp += core_comboObjeto(dados,"",""); |
232 | 269 | temp += "</select>"; |
233 | 270 | temp += "" + |
234 | - "<p>Digite um nome: <input id='i3GEOadmincolunaNomeNovo' title='digite o nome' type=text width=30 style='cursor:text' />" + | |
235 | - "<p>Tipo (integer, numeric, text, geometry): <input id='i3GEOadmincolunaTipo' title='digite o tipo' type=text width=30 style='cursor:text' />" + | |
236 | - "<p><input type=button value='Adicionar a nova coluna' id='i3GEOadmincolunaCriar' onclick='i3GEOadmin.editor.coluna.criar()'/>" + | |
237 | - "<input type=button value='Alterar nome atual' id='i3GEOadmincolunaAlterarNome' onclick='i3GEOadmin.editor.coluna.alterarNome()'/>" + | |
238 | - "<p>Digite um novo nome e um tipo caso queira criar uma nova coluna"; | |
271 | + "<p><input type=button value='Adicionar uma nova coluna' id='i3GEOadmincolunaCriar' onclick='i3GEOadmin.editor.coluna.criar()'/>" + | |
272 | + "<input type=button value='Alterar o nome atual' id='i3GEOadmincolunaAlterarNome' onclick='i3GEOadmin.editor.coluna.alterarNome()'/>"; | |
239 | 273 | $i(i3GEOadmin.editor.coluna.onde).innerHTML = temp+"</fieldset>"; |
240 | 274 | core_carregando("desativa"); |
241 | 275 | } |
... | ... | @@ -256,9 +290,6 @@ i3GEOadmin.editor = { |
256 | 290 | core_makeRequest("../php/metaestat.php?funcao=colunasTabela&formato=json&nome_tabela="+nome_tabela+"&nome_esquema="+nome_esquema+"&codigo_estat_conexao="+codigo_estat_conexao,callback); |
257 | 291 | }, |
258 | 292 | criar: function(){ |
259 | - if(!window.confirm("Cria nova coluna?")){ | |
260 | - return; | |
261 | - } | |
262 | 293 | var callback = { |
263 | 294 | success:function(o){ |
264 | 295 | try { |
... | ... | @@ -270,30 +301,30 @@ i3GEOadmin.editor = { |
270 | 301 | failure:core_handleFailure, |
271 | 302 | argument: { foo:"foo", bar:"bar" } |
272 | 303 | }, |
273 | - novaColuna = $i("i3GEOadmincolunaNomeNovo").value, | |
274 | - tipo = $i("i3GEOadmincolunaTipo").value, | |
304 | + novaColuna = "", | |
305 | + tipo = "", | |
275 | 306 | nomeEsquema = $i("i3GEOadminesquema").value, |
276 | 307 | nomeTabela = $i("i3GEOadmintabela").value; |
277 | 308 | if(i3GEOadmin.editor.verificaEsquema(nomeEsquema) == false){ |
278 | 309 | return; |
279 | 310 | } |
280 | - if(novaColuna == ""){ | |
281 | - alert("Digite um nome"); | |
282 | - return; | |
283 | - } | |
284 | - if(i3GEOadmin.editor.coluna.verificaExiste(novaColuna) == false){ | |
285 | - core_carregando("adicionando..."); | |
286 | - core_makeRequest("../php/metaestat.php?funcao=criaColunaDB&formato=json&tipo="+tipo+"&nova_coluna="+novaColuna+"&nome_tabela="+nomeTabela+"&nome_esquema="+nomeEsquema+"&codigo_estat_conexao="+$i("i3GEOadmincodigo_estat_conexao").value,callback); | |
287 | - } | |
288 | - else{ | |
289 | - alert("Coluna ja existe"); | |
311 | + | |
312 | + novaColuna = window.prompt("Nome:",""); | |
313 | + if (novaColuna!=null && novaColuna!=""){ | |
314 | + tipo = window.prompt("Tipo (integer, numeric, text, geometry):",""); | |
315 | + if (tipo!=null && tipo!=""){ | |
316 | + if(i3GEOadmin.editor.coluna.verificaExiste(novaColuna) == false){ | |
317 | + core_carregando("adicionando..."); | |
318 | + core_makeRequest("../php/metaestat.php?funcao=criaColunaDB&formato=json&tipo="+tipo+"&nova_coluna="+novaColuna+"&nome_tabela="+nomeTabela+"&nome_esquema="+nomeEsquema+"&codigo_estat_conexao="+$i("i3GEOadmincodigo_estat_conexao").value,callback); | |
319 | + } | |
320 | + else{ | |
321 | + alert("Coluna ja existe"); | |
322 | + } | |
323 | + } | |
290 | 324 | } |
291 | 325 | }, |
292 | 326 | alterarNome: function(){ |
293 | - if(!window.confirm("Altera o nome?")){ | |
294 | - return; | |
295 | - } | |
296 | - var callback = { | |
327 | + var novaColuna="",callback = { | |
297 | 328 | success:function(o){ |
298 | 329 | try { |
299 | 330 | core_carregando("desativa"); |
... | ... | @@ -304,22 +335,20 @@ i3GEOadmin.editor = { |
304 | 335 | failure:core_handleFailure, |
305 | 336 | argument: { foo:"foo", bar:"bar" } |
306 | 337 | }, |
307 | - novaColuna = $i("i3GEOadmincolunaNomeNovo").value, | |
308 | 338 | nomeEsquema = $i("i3GEOadminesquema").value, |
309 | 339 | nomeColuna = $i("i3GEOadmincoluna").value; |
310 | - if(i3GEOadmin.editor.verificaEsquema(nomeEsquema) == false){ | |
311 | - return; | |
312 | - } | |
313 | - if(novaColuna == ""){ | |
314 | - alert("Digite um nome"); | |
315 | - return; | |
316 | - } | |
317 | - if(i3GEOadmin.editor.coluna.verificaExiste(novaColuna) == false){ | |
318 | - core_carregando("adicionando..."); | |
319 | - core_makeRequest("../php/metaestat.php?funcao=alteraNomeColunaDB&formato=json&nome_coluna="+nomeColuna+"&nome_tabela="+$i("i3GEOadmintabela").value+"&novonome_coluna="+novaColuna+"&nome_esquema="+nomeEsquema+"&codigo_estat_conexao="+$i("i3GEOadmincodigo_estat_conexao").value,callback); | |
320 | - } | |
321 | - else{ | |
322 | - alert("Coluna ja existe"); | |
340 | + novaColuna = window.prompt("Novo nome:",""); | |
341 | + if (novaColuna!=null && novaColuna!=""){ | |
342 | + if(i3GEOadmin.editor.verificaEsquema(nomeEsquema) == false){ | |
343 | + return; | |
344 | + } | |
345 | + if(i3GEOadmin.editor.coluna.verificaExiste(novaColuna) == false){ | |
346 | + core_carregando("adicionando..."); | |
347 | + core_makeRequest("../php/metaestat.php?funcao=alteraNomeColunaDB&formato=json&nome_coluna="+nomeColuna+"&nome_tabela="+$i("i3GEOadmintabela").value+"&novonome_coluna="+novaColuna+"&nome_esquema="+nomeEsquema+"&codigo_estat_conexao="+$i("i3GEOadmincodigo_estat_conexao").value,callback); | |
348 | + } | |
349 | + else{ | |
350 | + alert("Coluna ja existe"); | |
351 | + } | |
323 | 352 | } |
324 | 353 | }, |
325 | 354 | verificaExiste: function(valor){ | ... | ... |
admin/php/classe_metaestat.php
... | ... | @@ -1430,6 +1430,19 @@ class Metaestat{ |
1430 | 1430 | function descreveColunasTabela($codigo_estat_conexao,$nome_esquema,$nome_tabela){ |
1431 | 1431 | return $this->execSQLDB($codigo_estat_conexao,"SELECT a.attnum,a.attname AS field,t.typname AS type,a.attlen AS length,a.atttypmod AS lengthvar,a.attnotnull AS notnull,p.nspname as esquema FROM pg_class c,pg_attribute a,pg_type t,pg_namespace p WHERE c.relname = '$nome_tabela' and p.nspname = '$nome_esquema' and a.attnum > 0 and a.attrelid = c.oid and a.atttypid = t.oid and c.relnamespace = p.oid ORDER BY a.attname"); |
1432 | 1432 | } |
1433 | + function obtemDadosTabelaDB($codigo_estat_conexao,$nome_esquema,$nome_tabela){ | |
1434 | + $colunas = $this->descreveColunasTabela($codigo_estat_conexao, $nome_esquema, $nome_tabela); | |
1435 | + $dados = $this->execSQLDB($codigo_estat_conexao,"SELECT * from ".$nome_esquema.".".$nome_tabela ); | |
1436 | + $linhas = array(); | |
1437 | + foreach($dados as $d){ | |
1438 | + $l = array(); | |
1439 | + foreach($colunas as $c){ | |
1440 | + $l[] = $d[$c["field"]]; | |
1441 | + } | |
1442 | + $linhas[] = $l; | |
1443 | + } | |
1444 | + return array("colunas"=>$colunas,"linhas"=>$linhas); | |
1445 | + } | |
1433 | 1446 | function relatorioCompleto($codigo_variavel="",$dadosGerenciais="nao"){ |
1434 | 1447 | $dados = array(); |
1435 | 1448 | if($codigo_variavel != "" || !empty($codigo_variavel)){ | ... | ... |
admin/php/metaestat.php
... | ... | @@ -73,6 +73,7 @@ $funcoesEdicao = array( |
73 | 73 | "COPIATABELADB", |
74 | 74 | "CRIACOLUNADB", |
75 | 75 | "ALTERANOMECOLUNADB", |
76 | + "OBTEMDADOSTABELADB", | |
76 | 77 | "INSERIRDADOS", |
77 | 78 | "MANTEMDADOSREGIAO", |
78 | 79 | "SALVAATRIBUTOSMEDIDAVARIAVEL", |
... | ... | @@ -1150,6 +1151,11 @@ switch (strtoupper($funcao)) |
1150 | 1151 | retornaJSON($m->alteraNomeColunaDB($codigo_estat_conexao,$nome_esquema,$nome_tabela,$nome_coluna,$novonome_coluna)); |
1151 | 1152 | exit; |
1152 | 1153 | break; |
1154 | + case "OBTEMDADOSTABELADB": | |
1155 | + $m = new Metaestat(); | |
1156 | + retornaJSON($m->obtemDadosTabelaDB($codigo_estat_conexao,$nome_esquema,$nome_tabela)); | |
1157 | + exit; | |
1158 | + break; | |
1153 | 1159 | /* |
1154 | 1160 | Valor: DESCREVECOLUNASTABELA |
1155 | 1161 | ... | ... |