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 | ... | ... |