Commit 3be413c37b5bb4e77263d962491bb092502d39a2
1 parent
fc2a35e8
Exists in
master
and in
7 other branches
$1
Showing
3 changed files
with
108 additions
and
6 deletions
Show diff stats
admin/js/estat_editor.js
... | ... | @@ -45,18 +45,33 @@ i3GEOadmin.editor = { |
45 | 45 | }, |
46 | 46 | esquema: { |
47 | 47 | onde: "i3GEOadminEditorEsquema", |
48 | - lista: function(){ | |
48 | + lista: function(selecao){ | |
49 | 49 | var callback = { |
50 | 50 | success:function(o){ |
51 | 51 | try { |
52 | 52 | var dados = YAHOO.lang.JSON.parse(o.responseText), |
53 | - temp = "<fieldset><p>Escolha um esquema: "; | |
54 | - temp += "<select id='i3GEOadminesquema' onchange='i3GEOadmin.editor.tabela.lista()'>"; | |
55 | - temp += core_comboObjeto(dados,"esquema","esquema"); | |
56 | - temp += "</select></p>"; | |
53 | + temp = "<fieldset><p>Escolha um esquema: " + | |
54 | + "<select id='i3GEOadminesquema' onchange='i3GEOadmin.editor.tabela.lista()'>" + | |
55 | + core_comboObjeto(dados,"esquema","esquema") + | |
56 | + "</select></p>" + | |
57 | + "<p class=paragrafo ><input type=button value='Criar um novo esquema' id='i3GEOadminesquemaCriar' />" + | |
58 | + " <input type=button value='Alterar nome atual' id='i3GEOadminesquemaAlterarNome' /></p>"; | |
59 | + | |
57 | 60 | $i(i3GEOadmin.editor.esquema.onde).innerHTML = temp+"</fieldset>"; |
61 | + if(selecao){ | |
62 | + $i("i3GEOadminesquema").value = selecao; | |
63 | + i3GEOadmin.editor.tabela.lista(); | |
64 | + } | |
58 | 65 | core_carregando("desativa"); |
59 | 66 | $i(i3GEOadmin.editor.tabela.onde).innerHTML = ""; |
67 | + new YAHOO.widget.Button( | |
68 | + "i3GEOadminesquemaCriar", | |
69 | + {onclick:{fn: i3GEOadmin.editor.esquema.criar}} | |
70 | + ); | |
71 | + new YAHOO.widget.Button( | |
72 | + "i3GEOadminesquemaAlterarNome", | |
73 | + {onclick:{fn: i3GEOadmin.editor.esquema.alterarNome}} | |
74 | + ); | |
60 | 75 | } |
61 | 76 | catch(e){core_handleFailure(e,o.responseText);} |
62 | 77 | }, |
... | ... | @@ -73,6 +88,68 @@ i3GEOadmin.editor = { |
73 | 88 | core_carregando("buscando dados..."); |
74 | 89 | core_makeRequest("../php/metaestat.php?funcao=esquemasConexao&formato=json&codigo_estat_conexao="+codigo_estat_conexao,callback); |
75 | 90 | }, |
91 | + criar: function(){ | |
92 | + var callback = { | |
93 | + success:function(o){ | |
94 | + try { | |
95 | + core_carregando("desativa"); | |
96 | + i3GEOadmin.editor.esquema.lista(novoEsquema); | |
97 | + } | |
98 | + catch(e){core_handleFailure(e,o.responseText);} | |
99 | + }, | |
100 | + failure:core_handleFailure, | |
101 | + argument: { foo:"foo", bar:"bar" } | |
102 | + }, | |
103 | + novoEsquema = window.prompt("Novo nome:",""); | |
104 | + if (novoEsquema != null && novoEsquema != ""){ | |
105 | + if(i3GEOadmin.editor.esquema.verificaExiste(novoEsquema) == false){ | |
106 | + core_carregando("adicionando..."); | |
107 | + core_makeRequest("../php/metaestat.php?funcao=criaEsquemaDB&formato=json&nome_esquema="+novoEsquema+"&codigo_estat_conexao="+$i("i3GEOadmincodigo_estat_conexao").value,callback); | |
108 | + } | |
109 | + else{ | |
110 | + alert("Esquema ja existe"); | |
111 | + } | |
112 | + } | |
113 | + }, | |
114 | + alterarNome: function(){ | |
115 | + if($i("i3GEOadminesquema").value == ""){ | |
116 | + alert("Escolha o esquema"); | |
117 | + return; | |
118 | + } | |
119 | + var callback = { | |
120 | + success:function(o){ | |
121 | + try { | |
122 | + core_carregando("desativa"); | |
123 | + i3GEOadmin.editor.esquema.lista(); | |
124 | + } | |
125 | + catch(e){core_handleFailure(e,o.responseText);} | |
126 | + }, | |
127 | + failure:core_handleFailure, | |
128 | + argument: { foo:"foo", bar:"bar" } | |
129 | + }, | |
130 | + nomeEsquema = $i("i3GEOadminesquema").value; | |
131 | + novoEsquema = window.prompt("Novo nome:",""); | |
132 | + if (novoEsquema != null && novoEsquema != ""){ | |
133 | + if(i3GEOadmin.editor.esquema.verificaExiste(novoEsquema) == false){ | |
134 | + core_carregando("adicionando..."); | |
135 | + core_makeRequest("../php/metaestat.php?funcao=alteraNomeEsquemaDB&formato=json&nome_esquema="+nomeEsquema+"&novonome_esquema="+novoEsquema+"&codigo_estat_conexao="+$i("i3GEOadmincodigo_estat_conexao").value,callback); | |
136 | + } | |
137 | + else{ | |
138 | + alert("Esquema ja existe"); | |
139 | + } | |
140 | + } | |
141 | + }, | |
142 | + verificaExiste: function(valor){ | |
143 | + var combo = $i("i3GEOadminesquema"), | |
144 | + n = combo.options.length, | |
145 | + i; | |
146 | + for(i=0;i<n;i++){ | |
147 | + if(combo.options[i].value == valor){ | |
148 | + return true; | |
149 | + } | |
150 | + } | |
151 | + return false; | |
152 | + } | |
76 | 153 | }, |
77 | 154 | tabela:{ |
78 | 155 | onde: "i3GEOadminEditorTabela", | ... | ... |
admin/php/classe_metaestat.php
... | ... | @@ -2002,7 +2002,7 @@ class Metaestat{ |
2002 | 2002 | } |
2003 | 2003 | /** |
2004 | 2004 | * ALtera o nome de uma tabela |
2005 | - * Atualiza as tabelas i3geoestat_medida_variavel e i3geoestat_tipo_regiao | |
2005 | + * Nao atualiza as tabelas i3geoestat_medida_variavel e i3geoestat_tipo_regiao | |
2006 | 2006 | * @param codigo da conexao |
2007 | 2007 | * @param nome do esquema |
2008 | 2008 | * @param nome da tabela atual |
... | ... | @@ -2011,6 +2011,7 @@ class Metaestat{ |
2011 | 2011 | */ |
2012 | 2012 | function alteraNomeTabelaDB($codigo_estat_conexao,$nome_esquema,$nome_tabela,$novonome_tabela){ |
2013 | 2013 | $res = $this->execSQLDB($codigo_estat_conexao,"ALTER TABLE ".$nome_esquema.".".$nome_tabela." RENAME TO ".$novonome_tabela ); |
2014 | + /* | |
2014 | 2015 | $tabela = $this->execSQLDB($codigo_estat_conexao,"SELECT table_name FROM information_schema.tables where table_name = '$novonome_tabela' and table_schema = '$nome_esquema'"); |
2015 | 2016 | if(count($tabela) > 0){ |
2016 | 2017 | $sql = "UPDATE i3geoestat_medida_variavel SET tabela = '$novonome_tabela' WHERE esquemadb = '$nome_esquema' and tabela = '$nome_tabela'"; |
... | ... | @@ -2018,6 +2019,7 @@ class Metaestat{ |
2018 | 2019 | $sql = "UPDATE i3geoestat_tipo_regiao SET tabela = '$novonome_tabela' WHERE esquemadb = '$nome_esquema' and tabela = '$nome_tabela'"; |
2019 | 2020 | $this->execSQL($sql,"",false); |
2020 | 2021 | } |
2022 | + */ | |
2021 | 2023 | return $res; |
2022 | 2024 | } |
2023 | 2025 | /** |
... | ... | @@ -2031,6 +2033,17 @@ class Metaestat{ |
2031 | 2033 | function copiaTabelaDB($codigo_estat_conexao,$nome_esquema,$nome_tabela,$novonome_tabela){ |
2032 | 2034 | return $this->execSQLDB($codigo_estat_conexao,"CREATE TABLE ".$nome_esquema.".".$novonome_tabela." AS select * from ".$nome_esquema.".".$nome_tabela ); |
2033 | 2035 | } |
2036 | + /** | |
2037 | + * ALtera o nome de um esquema | |
2038 | + * @param codigo da conexao | |
2039 | + * @param nome do esquema | |
2040 | + * @param novo nome do esquema | |
2041 | + * @return execSQLDB | |
2042 | + */ | |
2043 | + function alteraNomeEsquemaDB($codigo_estat_conexao,$nome_esquema,$novonome_esquema){ | |
2044 | + $res = $this->execSQLDB($codigo_estat_conexao,"ALTER SCHEMA ".$nome_esquema." RENAME TO ".$novonome_esquema ); | |
2045 | + return $res; | |
2046 | + } | |
2034 | 2047 | /** |
2035 | 2048 | * Lista as colunas de uma tabela e seus metadados |
2036 | 2049 | * @param codigo da conexao | ... | ... |
admin/php/metaestat.php
... | ... | @@ -75,7 +75,9 @@ $funcoesEdicao = array( |
75 | 75 | "EXCLUIRCLASSECLASSIFICACAO", |
76 | 76 | "EXCLUIRLINKMEDIDA", |
77 | 77 | "CRIATABELADB", |
78 | + "CRIAESQUEMADB", | |
78 | 79 | "ALTERANOMETABELADB", |
80 | + "ALTERANOMEESQUEMADB", | |
79 | 81 | "COPIATABELADB", |
80 | 82 | "CRIACOLUNADB", |
81 | 83 | "ALTERANOMECOLUNADB", |
... | ... | @@ -1306,6 +1308,11 @@ switch (strtoupper($funcao)) |
1306 | 1308 | retornaJSON($m->criaTabelaDB($codigo_estat_conexao,$nome_esquema,$nome_tabela)); |
1307 | 1309 | exit; |
1308 | 1310 | break; |
1311 | + case "CRIAESQUEMADB": | |
1312 | + $m = new Metaestat(); | |
1313 | + retornaJSON($m->criaEsquemaDB($codigo_estat_conexao,$nome_esquema)); | |
1314 | + exit; | |
1315 | + break; | |
1309 | 1316 | case "ALTERANOMETABELADB": |
1310 | 1317 | $m = new Metaestat(); |
1311 | 1318 | if($nome_esquema != "i3geo_metaestat"){ |
... | ... | @@ -1315,6 +1322,11 @@ switch (strtoupper($funcao)) |
1315 | 1322 | retornaJSON($m->alteraNomeTabelaDB($codigo_estat_conexao,$nome_esquema,$nome_tabela,$novonome_tabela)); |
1316 | 1323 | exit; |
1317 | 1324 | break; |
1325 | + case "ALTERANOMEESQUEMADB": | |
1326 | + $m = new Metaestat(); | |
1327 | + retornaJSON($m->alteraNomeEsquemaDB($codigo_estat_conexao,$nome_esquema,$novonome_esquema)); | |
1328 | + exit; | |
1329 | + break; | |
1318 | 1330 | case "COPIATABELADB": |
1319 | 1331 | $m = new Metaestat(); |
1320 | 1332 | if($nome_esquema != "i3geo_metaestat"){ | ... | ... |