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