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,11 +252,12 @@ i3GEOadmin.editor = { | ||
252 | if(i3GEOadmin.editor.verificaEsquema(nomeEsquema) == false){ | 252 | if(i3GEOadmin.editor.verificaEsquema(nomeEsquema) == false){ |
253 | return; | 253 | return; |
254 | } | 254 | } |
255 | - novaTabela = window.prompt("Novo nome:",""); | 255 | + novaTabela = window.prompt("Nome da tabela:",""); |
256 | + comentarioTabela = window.prompt("Comentario (opcional):",""); | ||
256 | if (novaTabela!=null && novaTabela!=""){ | 257 | if (novaTabela!=null && novaTabela!=""){ |
257 | if(i3GEOadmin.editor.tabela.verificaExiste(novaTabela) == false){ | 258 | if(i3GEOadmin.editor.tabela.verificaExiste(novaTabela) == false){ |
258 | core_carregando("adicionando..."); | 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 | else{ | 262 | else{ |
262 | alert("Tabela ja existe"); | 263 | alert("Tabela ja existe"); |
@@ -398,9 +399,11 @@ i3GEOadmin.editor = { | @@ -398,9 +399,11 @@ i3GEOadmin.editor = { | ||
398 | success:function(o){ | 399 | success:function(o){ |
399 | try { | 400 | try { |
400 | var dados = YAHOO.lang.JSON.parse(o.responseText), | 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 | temp += "<select id='i3GEOadmincoluna' >"; | 405 | temp += "<select id='i3GEOadmincoluna' >"; |
403 | - temp += core_comboObjeto(dados,"",""); | 406 | + temp += core_comboObjeto(dados["colunas"],"",""); |
404 | temp += "</select></p>"; | 407 | temp += "</select></p>"; |
405 | temp += "" + | 408 | temp += "" + |
406 | "<p class=paragrafo ><input type=button value='Adicionar uma nova coluna' id='i3GEOadmincolunaCriar' />" + | 409 | "<p class=paragrafo ><input type=button value='Adicionar uma nova coluna' id='i3GEOadmincolunaCriar' />" + |
@@ -430,7 +433,7 @@ i3GEOadmin.editor = { | @@ -430,7 +433,7 @@ i3GEOadmin.editor = { | ||
430 | return; | 433 | return; |
431 | } | 434 | } |
432 | core_carregando("adicionando..."); | 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 | criar: function(){ | 438 | criar: function(){ |
436 | var callback = { | 439 | var callback = { |
@@ -530,7 +533,7 @@ i3GEOadmin.editor = { | @@ -530,7 +533,7 @@ i3GEOadmin.editor = { | ||
530 | $i("outsrid").value = obj.value; | 533 | $i("outsrid").value = obj.value; |
531 | }, | 534 | }, |
532 | formulario: function(){ | 535 | formulario: function(){ |
533 | - var ins = '' + | 536 | + var ins = '' + |
534 | '<form id=i3GEOuploadf target="i3GEOuploadiframe" action="../php/metaestat_uploadshp_submit.php" method="post" ENCTYPE="multipart/form-data">' + | 537 | '<form id=i3GEOuploadf target="i3GEOuploadiframe" action="../php/metaestat_uploadshp_submit.php" method="post" ENCTYPE="multipart/form-data">' + |
535 | '<fieldset class=subbloco >' + | 538 | '<fieldset class=subbloco >' + |
536 | '<p class="paragrafo" >shp: <br><input type="file" size=22 name="i3GEOuploadshp" style="top:0px;left:0px;cursor:pointer;"></p>' + | 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,6 +549,8 @@ i3GEOadmin.editor = { | ||
546 | '</select></p>' + | 549 | '</select></p>' + |
547 | '</fieldset>' + | 550 | '</fieldset>' + |
548 | '<fieldset class=subbloco >' + | 551 | '<fieldset class=subbloco >' + |
552 | + '<p class="paragrafo" >Comentário:</p>' + | ||
553 | + '<textarea name="comentarioShp" rows="5" cols="70" ></textarea>' + | ||
549 | '<p class="paragrafo" >Tipo de operação:</p>' + | 554 | '<p class="paragrafo" >Tipo de operação:</p>' + |
550 | '<select id=i3GEOtipoOperacao name=tipoOperacao >' + | 555 | '<select id=i3GEOtipoOperacao name=tipoOperacao >' + |
551 | '<option value=criar >Criar a tabela nova e incluir registros do SHP</option>' + | 556 | '<option value=criar >Criar a tabela nova e incluir registros do SHP</option>' + |
@@ -622,6 +627,8 @@ i3GEOadmin.editor = { | @@ -622,6 +627,8 @@ i3GEOadmin.editor = { | ||
622 | '</select></p>' + | 627 | '</select></p>' + |
623 | '</fieldset>' + | 628 | '</fieldset>' + |
624 | '<fieldset class=subbloco >' + | 629 | '<fieldset class=subbloco >' + |
630 | + '<p class="paragrafo" >Comentário:</p>' + | ||
631 | + '<textarea name="comentarioCsv" rows="5" cols="70" ></textarea>' + | ||
625 | '<p class="paragrafo" >Tipo de operação:</p>' + | 632 | '<p class="paragrafo" >Tipo de operação:</p>' + |
626 | '<select id=i3GEOtipoOperacaocsv name=tipoOperacao >' + | 633 | '<select id=i3GEOtipoOperacaocsv name=tipoOperacao >' + |
627 | '<option value=criar >Criar a tabela nova e incluir registros do CSV</option>' + | 634 | '<option value=criar >Criar a tabela nova e incluir registros do CSV</option>' + |
admin/menu.html
@@ -114,7 +114,7 @@ | @@ -114,7 +114,7 @@ | ||
114 | href: "html/estat_fonteinfo.html", | 114 | href: "html/estat_fonteinfo.html", |
115 | target: "principal" | 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 | type: "text", | 118 | type: "text", |
119 | href: "html/estat_editor.html", | 119 | href: "html/estat_editor.html", |
120 | target: "principal" | 120 | target: "principal" |
admin/php/classe_metaestat.php
@@ -2181,8 +2181,17 @@ class Metaestat{ | @@ -2181,8 +2181,17 @@ class Metaestat{ | ||
2181 | * @param nome da tabela | 2181 | * @param nome da tabela |
2182 | * @return execSQLDB | 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 | * ALtera o nome de uma tabela | 2197 | * ALtera o nome de uma tabela |
@@ -2229,7 +2238,7 @@ class Metaestat{ | @@ -2229,7 +2238,7 @@ class Metaestat{ | ||
2229 | return $res; | 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 | * @param codigo da conexao | 2242 | * @param codigo da conexao |
2234 | * @param nome do esquema | 2243 | * @param nome do esquema |
2235 | * @param nome da tabela | 2244 | * @param nome da tabela |
@@ -2248,6 +2257,29 @@ class Metaestat{ | @@ -2248,6 +2257,29 @@ class Metaestat{ | ||
2248 | } | 2257 | } |
2249 | return $colunas; | 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 | * Cria uma coluna em uma tabela do banco | 2284 | * Cria uma coluna em uma tabela do banco |
2253 | * @param codigo da conexao | 2285 | * @param codigo da conexao |
@@ -2301,7 +2333,7 @@ class Metaestat{ | @@ -2301,7 +2333,7 @@ class Metaestat{ | ||
2301 | } | 2333 | } |
2302 | /** | 2334 | /** |
2303 | * Lista os metadados de uma coluna | 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 | * @param codigo da conexao | 2337 | * @param codigo da conexao |
2306 | * @param nome do esquema | 2338 | * @param nome do esquema |
2307 | * @param nome da tabela | 2339 | * @param nome da tabela |
admin/php/metaestat.php
@@ -90,7 +90,8 @@ $funcoesEdicao = array( | @@ -90,7 +90,8 @@ $funcoesEdicao = array( | ||
90 | "REGIAO2SHP", | 90 | "REGIAO2SHP", |
91 | "ESQUEMASCONEXAO", | 91 | "ESQUEMASCONEXAO", |
92 | "TABELASESQUEMA", | 92 | "TABELASESQUEMA", |
93 | - "ALTERAESTILOSCLASSIFICACAO" | 93 | + "ALTERAESTILOSCLASSIFICACAO", |
94 | + "INFOTABELA" | ||
94 | ); | 95 | ); |
95 | if(in_array(strtoupper($funcao),$funcoesEdicao)){ | 96 | if(in_array(strtoupper($funcao),$funcoesEdicao)){ |
96 | //se a funcao esta no array eh feita a verificacao se o usuario esta logado e se ele esta em um grupo que | 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,7 +1410,7 @@ switch (strtoupper($funcao)) | ||
1409 | retornaJSON("erro"); | 1410 | retornaJSON("erro"); |
1410 | exit; | 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 | exit; | 1414 | exit; |
1414 | break; | 1415 | break; |
1415 | case "CRIAESQUEMADB": | 1416 | case "CRIAESQUEMADB": |
@@ -1469,6 +1470,17 @@ switch (strtoupper($funcao)) | @@ -1469,6 +1470,17 @@ switch (strtoupper($funcao)) | ||
1469 | } | 1470 | } |
1470 | exit; | 1471 | exit; |
1471 | break; | 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 | case "CRIACOLUNADB": | 1484 | case "CRIACOLUNADB": |
1473 | $m = new Metaestat(); | 1485 | $m = new Metaestat(); |
1474 | if($nome_esquema != "i3geo_metaestat"){ | 1486 | if($nome_esquema != "i3geo_metaestat"){ |
admin/php/metaestat_uploadcsv_submit.php
@@ -149,6 +149,11 @@ if (ob_get_level() == 0) ob_start(); | @@ -149,6 +149,11 @@ if (ob_get_level() == 0) ob_start(); | ||
149 | $sql .= implode(",",$temp).") WITH(OIDS=FALSE)"; | 149 | $sql .= implode(",",$temp).") WITH(OIDS=FALSE)"; |
150 | $sqltabela[] = $sql; | 150 | $sqltabela[] = $sql; |
151 | $sqltabela[] = "ALTER TABLE ".$_POST["i3GEOuploadcsvesquema"].".".$_POST["tabelaDestinocsv"]." OWNER TO ".$conexao["usuario"]; | 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 | echo "<br>Sql tabela: <pre>"; | 157 | echo "<br>Sql tabela: <pre>"; |
153 | var_dump($sqltabela); | 158 | var_dump($sqltabela); |
154 | echo "</pre>"; | 159 | echo "</pre>"; |
admin/php/metaestat_uploadshp_submit.php
@@ -156,6 +156,11 @@ if (isset($_FILES['i3GEOuploadshp']['name'])){ | @@ -156,6 +156,11 @@ if (isset($_FILES['i3GEOuploadshp']['name'])){ | ||
156 | $sqltabela[] = $sql; | 156 | $sqltabela[] = $sql; |
157 | $sqltabela[] = "ALTER TABLE ".$_POST["i3GEOuploadesquema"].".".$_POST["tabelaDestino"]." OWNER TO ".$conexao["usuario"]; | 157 | $sqltabela[] = "ALTER TABLE ".$_POST["i3GEOuploadesquema"].".".$_POST["tabelaDestino"]." OWNER TO ".$conexao["usuario"]; |
158 | $sqltabela[] = "CREATE INDEX ".$_POST["tabelaDestino"]."_indx_thegeom ON ".$_POST["i3GEOuploadesquema"].".".$_POST["tabelaDestino"]." USING gist (the_geom )"; | 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 | echo "<br>Sql tabela: <pre>"; | 164 | echo "<br>Sql tabela: <pre>"; |
160 | var_dump($sqltabela); | 165 | var_dump($sqltabela); |
161 | echo "</pre>"; | 166 | echo "</pre>"; |