Commit 6ecd7e9a4ffde4b46c272b7b5aa752ab3f232fb8
1 parent
6f7a7286
Exists in
master
and in
7 other branches
Inclusão de opção para visualizar e incluir comentários em tabelas criadas usand…
…o o sistema de administração
Showing
6 changed files
with
74 additions
and
13 deletions
Show diff stats
admin/js/estat_editor.js
| ... | ... | @@ -252,11 +252,12 @@ i3GEOadmin.editor = { |
| 252 | 252 | if(i3GEOadmin.editor.verificaEsquema(nomeEsquema) == false){ |
| 253 | 253 | return; |
| 254 | 254 | } |
| 255 | - novaTabela = window.prompt("Novo nome:",""); | |
| 255 | + novaTabela = window.prompt("Nome da tabela:",""); | |
| 256 | + comentarioTabela = window.prompt("Comentario (opcional):",""); | |
| 256 | 257 | if (novaTabela!=null && novaTabela!=""){ |
| 257 | 258 | if(i3GEOadmin.editor.tabela.verificaExiste(novaTabela) == false){ |
| 258 | 259 | core_carregando("adicionando..."); |
| 259 | - core_makeRequest("../php/metaestat.php?funcao=criaTabelaDB&formato=json&nome_tabela="+novaTabela+"&nome_esquema="+nomeEsquema+"&codigo_estat_conexao="+$i("i3GEOadmincodigo_estat_conexao").value,callback); | |
| 260 | + core_makeRequest("../php/metaestat.php?funcao=criaTabelaDB&formato=json&comentario="+comentarioTabela+"&nome_tabela="+novaTabela+"&nome_esquema="+nomeEsquema+"&codigo_estat_conexao="+$i("i3GEOadmincodigo_estat_conexao").value,callback); | |
| 260 | 261 | } |
| 261 | 262 | else{ |
| 262 | 263 | alert("Tabela ja existe"); |
| ... | ... | @@ -398,9 +399,11 @@ i3GEOadmin.editor = { |
| 398 | 399 | success:function(o){ |
| 399 | 400 | try { |
| 400 | 401 | var dados = YAHOO.lang.JSON.parse(o.responseText), |
| 401 | - temp = "<fieldset><p>Escolha uma coluna: "; | |
| 402 | + temp = "<fieldset>" ; | |
| 403 | + temp += "<p>Comentário registrado na tabela: "+dados["comentario"]; | |
| 404 | + temp += "<p>Escolha uma coluna: "; | |
| 402 | 405 | temp += "<select id='i3GEOadmincoluna' >"; |
| 403 | - temp += core_comboObjeto(dados,"",""); | |
| 406 | + temp += core_comboObjeto(dados["colunas"],"",""); | |
| 404 | 407 | temp += "</select></p>"; |
| 405 | 408 | temp += "" + |
| 406 | 409 | "<p class=paragrafo ><input type=button value='Adicionar uma nova coluna' id='i3GEOadmincolunaCriar' />" + |
| ... | ... | @@ -430,7 +433,7 @@ i3GEOadmin.editor = { |
| 430 | 433 | return; |
| 431 | 434 | } |
| 432 | 435 | core_carregando("adicionando..."); |
| 433 | - core_makeRequest("../php/metaestat.php?funcao=colunasTabela&formato=json&nome_tabela="+nome_tabela+"&nome_esquema="+nome_esquema+"&codigo_estat_conexao="+codigo_estat_conexao,callback); | |
| 436 | + core_makeRequest("../php/metaestat.php?funcao=infoTabela&formato=json&nome_tabela="+nome_tabela+"&nome_esquema="+nome_esquema+"&codigo_estat_conexao="+codigo_estat_conexao,callback); | |
| 434 | 437 | }, |
| 435 | 438 | criar: function(){ |
| 436 | 439 | var callback = { |
| ... | ... | @@ -530,7 +533,7 @@ i3GEOadmin.editor = { |
| 530 | 533 | $i("outsrid").value = obj.value; |
| 531 | 534 | }, |
| 532 | 535 | formulario: function(){ |
| 533 | - var ins = '' + | |
| 536 | + var ins = '' + | |
| 534 | 537 | '<form id=i3GEOuploadf target="i3GEOuploadiframe" action="../php/metaestat_uploadshp_submit.php" method="post" ENCTYPE="multipart/form-data">' + |
| 535 | 538 | '<fieldset class=subbloco >' + |
| 536 | 539 | '<p class="paragrafo" >shp: <br><input type="file" size=22 name="i3GEOuploadshp" style="top:0px;left:0px;cursor:pointer;"></p>' + |
| ... | ... | @@ -546,6 +549,8 @@ i3GEOadmin.editor = { |
| 546 | 549 | '</select></p>' + |
| 547 | 550 | '</fieldset>' + |
| 548 | 551 | '<fieldset class=subbloco >' + |
| 552 | + '<p class="paragrafo" >Comentário:</p>' + | |
| 553 | + '<textarea name="comentarioShp" rows="5" cols="70" ></textarea>' + | |
| 549 | 554 | '<p class="paragrafo" >Tipo de operação:</p>' + |
| 550 | 555 | '<select id=i3GEOtipoOperacao name=tipoOperacao >' + |
| 551 | 556 | '<option value=criar >Criar a tabela nova e incluir registros do SHP</option>' + |
| ... | ... | @@ -622,6 +627,8 @@ i3GEOadmin.editor = { |
| 622 | 627 | '</select></p>' + |
| 623 | 628 | '</fieldset>' + |
| 624 | 629 | '<fieldset class=subbloco >' + |
| 630 | + '<p class="paragrafo" >Comentário:</p>' + | |
| 631 | + '<textarea name="comentarioCsv" rows="5" cols="70" ></textarea>' + | |
| 625 | 632 | '<p class="paragrafo" >Tipo de operação:</p>' + |
| 626 | 633 | '<select id=i3GEOtipoOperacaocsv name=tipoOperacao >' + |
| 627 | 634 | '<option value=criar >Criar a tabela nova e incluir registros do CSV</option>' + | ... | ... |
admin/menu.html
| ... | ... | @@ -114,7 +114,7 @@ |
| 114 | 114 | href: "html/estat_fonteinfo.html", |
| 115 | 115 | target: "principal" |
| 116 | 116 | },{ |
| 117 | - label: "Gerenciador de tabelas de dados estatísticos (upload de SHP e CSV)", | |
| 117 | + label: "Gerenciador de banco de dados, upload de SHP e CSV", | |
| 118 | 118 | type: "text", |
| 119 | 119 | href: "html/estat_editor.html", |
| 120 | 120 | target: "principal" | ... | ... |
admin/php/classe_metaestat.php
| ... | ... | @@ -2181,8 +2181,17 @@ class Metaestat{ |
| 2181 | 2181 | * @param nome da tabela |
| 2182 | 2182 | * @return execSQLDB |
| 2183 | 2183 | */ |
| 2184 | - function criaTabelaDB($codigo_estat_conexao,$nome_esquema,$nome_tabela){ | |
| 2185 | - return $this->execSQLDB($codigo_estat_conexao,"create table ".$nome_esquema.".".$nome_tabela." (gid serial, CONSTRAINT ".$nome_tabela."_pkey PRIMARY KEY (gid ))"); | |
| 2184 | + function criaTabelaDB($codigo_estat_conexao,$nome_esquema,$nome_tabela,$comentario=""){ | |
| 2185 | + | |
| 2186 | + $res = $this->execSQLDB($codigo_estat_conexao,"create table ".$nome_esquema.".".$nome_tabela." (gid serial, CONSTRAINT ".$nome_tabela."_pkey PRIMARY KEY (gid ))"); | |
| 2187 | + //echo "COMMENT ON TABLE ".$nome_esquema.".".$nome_tabela." IS '".$comentario."'";exit; | |
| 2188 | + if($comentario != ""){ | |
| 2189 | + if($this->convUTF){ | |
| 2190 | + $comentario = utf8_encode($comentario); | |
| 2191 | + } | |
| 2192 | + $com = $this->execSQLDB($codigo_estat_conexao,"COMMENT ON TABLE ".$nome_esquema.".".$nome_tabela." IS '".$comentario."'"); | |
| 2193 | + } | |
| 2194 | + return $res; | |
| 2186 | 2195 | } |
| 2187 | 2196 | /** |
| 2188 | 2197 | * ALtera o nome de uma tabela |
| ... | ... | @@ -2229,7 +2238,7 @@ class Metaestat{ |
| 2229 | 2238 | return $res; |
| 2230 | 2239 | } |
| 2231 | 2240 | /** |
| 2232 | - * Lista as colunas de uma tabela e seus metadados | |
| 2241 | + * Lista as colunas de uma tabela | |
| 2233 | 2242 | * @param codigo da conexao |
| 2234 | 2243 | * @param nome do esquema |
| 2235 | 2244 | * @param nome da tabela |
| ... | ... | @@ -2248,6 +2257,29 @@ class Metaestat{ |
| 2248 | 2257 | } |
| 2249 | 2258 | return $colunas; |
| 2250 | 2259 | } |
| 2260 | + /** | |
| 2261 | + * Lista o comentario de uma tabela | |
| 2262 | + * @param codigo da conexao | |
| 2263 | + * @param nome do esquema | |
| 2264 | + * @param nome da tabela | |
| 2265 | + * @return execSQLDB | |
| 2266 | + */ | |
| 2267 | + function comentarioTabela($codigo_estat_conexao,$nome_esquema,$nome_tabela){ | |
| 2268 | + $colunas = array(); | |
| 2269 | + $sql = "SELECT pg_catalog.obj_description(c.oid, 'pg_class') AS comments FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON (n.oid = c.relnamespace) WHERE n.nspname = '".$nome_esquema."' AND c.relname = '".$nome_tabela."'"; | |
| 2270 | + $res = $this->execSQLDB($codigo_estat_conexao,$sql); | |
| 2271 | + if(count($res) > 0){ | |
| 2272 | + $res = $res[0]; | |
| 2273 | + $res = $res["comments"]; | |
| 2274 | + } | |
| 2275 | + else{ | |
| 2276 | + $res = ""; | |
| 2277 | + } | |
| 2278 | + if($res == null){ | |
| 2279 | + $res = ""; | |
| 2280 | + } | |
| 2281 | + return $res; | |
| 2282 | + } | |
| 2251 | 2283 | /** |
| 2252 | 2284 | * Cria uma coluna em uma tabela do banco |
| 2253 | 2285 | * @param codigo da conexao |
| ... | ... | @@ -2301,7 +2333,7 @@ class Metaestat{ |
| 2301 | 2333 | } |
| 2302 | 2334 | /** |
| 2303 | 2335 | * Lista os metadados de uma coluna |
| 2304 | - * Os metadados s�o obtidos do pr�prio PostgreSQL | |
| 2336 | + * Os metadados sao obtidos do proprio PostgreSQL | |
| 2305 | 2337 | * @param codigo da conexao |
| 2306 | 2338 | * @param nome do esquema |
| 2307 | 2339 | * @param nome da tabela | ... | ... |
admin/php/metaestat.php
| ... | ... | @@ -90,7 +90,8 @@ $funcoesEdicao = array( |
| 90 | 90 | "REGIAO2SHP", |
| 91 | 91 | "ESQUEMASCONEXAO", |
| 92 | 92 | "TABELASESQUEMA", |
| 93 | - "ALTERAESTILOSCLASSIFICACAO" | |
| 93 | + "ALTERAESTILOSCLASSIFICACAO", | |
| 94 | + "INFOTABELA" | |
| 94 | 95 | ); |
| 95 | 96 | if(in_array(strtoupper($funcao),$funcoesEdicao)){ |
| 96 | 97 | //se a funcao esta no array eh feita a verificacao se o usuario esta logado e se ele esta em um grupo que |
| ... | ... | @@ -1409,7 +1410,7 @@ switch (strtoupper($funcao)) |
| 1409 | 1410 | retornaJSON("erro"); |
| 1410 | 1411 | exit; |
| 1411 | 1412 | } |
| 1412 | - retornaJSON($m->criaTabelaDB($codigo_estat_conexao,$nome_esquema,$nome_tabela)); | |
| 1413 | + retornaJSON($m->criaTabelaDB($codigo_estat_conexao,$nome_esquema,$nome_tabela,$comentario)); | |
| 1413 | 1414 | exit; |
| 1414 | 1415 | break; |
| 1415 | 1416 | case "CRIAESQUEMADB": |
| ... | ... | @@ -1469,6 +1470,17 @@ switch (strtoupper($funcao)) |
| 1469 | 1470 | } |
| 1470 | 1471 | exit; |
| 1471 | 1472 | break; |
| 1473 | + case "INFOTABELA": | |
| 1474 | + $m = new Metaestat(); | |
| 1475 | + $colunas = $m->colunasTabela($codigo_estat_conexao,$nome_esquema,$nome_tabela,""); | |
| 1476 | + $comentario = $m->comentarioTabela($codigo_estat_conexao,$nome_esquema,$nome_tabela); | |
| 1477 | + if($formato == "json"){ | |
| 1478 | + retornaJSON(array( | |
| 1479 | + "colunas"=>$colunas, | |
| 1480 | + "comentario"=>$comentario | |
| 1481 | + )); | |
| 1482 | + } | |
| 1483 | + exit; | |
| 1472 | 1484 | case "CRIACOLUNADB": |
| 1473 | 1485 | $m = new Metaestat(); |
| 1474 | 1486 | if($nome_esquema != "i3geo_metaestat"){ | ... | ... |
admin/php/metaestat_uploadcsv_submit.php
| ... | ... | @@ -149,6 +149,11 @@ if (ob_get_level() == 0) ob_start(); |
| 149 | 149 | $sql .= implode(",",$temp).") WITH(OIDS=FALSE)"; |
| 150 | 150 | $sqltabela[] = $sql; |
| 151 | 151 | $sqltabela[] = "ALTER TABLE ".$_POST["i3GEOuploadcsvesquema"].".".$_POST["tabelaDestinocsv"]." OWNER TO ".$conexao["usuario"]; |
| 152 | + if(!empty($_POST["comentarioCsv"])){ | |
| 153 | + $enc = mb_detect_encoding($texto); | |
| 154 | + $_POST["comentarioCsv"] = mb_convert_encoding($_POST["comentarioCsv"],$encodingdb,$enc); | |
| 155 | + $sqltabela[] = "COMMENT ON TABLE ".$_POST["i3GEOuploadcsvesquema"].".".$_POST["tabelaDestinocsv"]." IS '".$_POST["comentarioCsv"]."'"; | |
| 156 | + } | |
| 152 | 157 | echo "<br>Sql tabela: <pre>"; |
| 153 | 158 | var_dump($sqltabela); |
| 154 | 159 | echo "</pre>"; | ... | ... |
admin/php/metaestat_uploadshp_submit.php
| ... | ... | @@ -156,6 +156,11 @@ if (isset($_FILES['i3GEOuploadshp']['name'])){ |
| 156 | 156 | $sqltabela[] = $sql; |
| 157 | 157 | $sqltabela[] = "ALTER TABLE ".$_POST["i3GEOuploadesquema"].".".$_POST["tabelaDestino"]." OWNER TO ".$conexao["usuario"]; |
| 158 | 158 | $sqltabela[] = "CREATE INDEX ".$_POST["tabelaDestino"]."_indx_thegeom ON ".$_POST["i3GEOuploadesquema"].".".$_POST["tabelaDestino"]." USING gist (the_geom )"; |
| 159 | + if(!empty($_POST["comentarioShp"])){ | |
| 160 | + $enc = mb_detect_encoding($texto); | |
| 161 | + $_POST["comentarioShp"] = mb_convert_encoding($_POST["comentarioShp"],$encodingdb,$enc); | |
| 162 | + $sqltabela[] = "COMMENT ON TABLE ".$_POST["i3GEOuploadesquema"].".".$_POST["tabelaDestino"]." IS '".$_POST["comentarioShp"]."'"; | |
| 163 | + } | |
| 159 | 164 | echo "<br>Sql tabela: <pre>"; |
| 160 | 165 | var_dump($sqltabela); |
| 161 | 166 | echo "</pre>"; | ... | ... |