diff --git a/admin/php/admin.php b/admin/php/admin.php index 3d7528b..bfb14d8 100755 --- a/admin/php/admin.php +++ b/admin/php/admin.php @@ -139,19 +139,24 @@ coluna - nome da coluna id - valor */ -function exclui($tabela,$coluna,$id){ +function exclui($tabela,$coluna,$id,$dbhw="",$close=true){ try { - include("conexao.php"); + if($dbhw == ""){ + include("conexao.php"); + $close = true; + } $sql = "DELETE from $tabela WHERE $coluna = ?"; $prep = $dbhw->prepare($sql); $prep->execute(array($id)); i3GeoAdminInsertLog($dbhw,$sql,array($id)); - $dbhw = null; - $dbh = null; + if($close == true){ + $dbhw = null; + $dbh = null; + } return "ok"; } catch (PDOException $e) { - return "Error!: "; + return false; } } /* @@ -215,14 +220,14 @@ function i3GeoAdminUpdate($pdo,$tabela,$data,$filtro=""){ try { $prep = $pdo->prepare($sql); } catch (PDOException $e) { - return "Error!: "; + return false; } try { $exec = $prep->execute(array_values($data)); i3GeoAdminInsertLog($pdo,$sql,array_values($data)); return true; } catch (PDOException $e) { - return "Error!: "; + return false; } } /** @@ -244,7 +249,7 @@ function i3GeoAdminInsert($pdo,$tabela,$data){ try { $prep = $pdo->prepare($sql); } catch (PDOException $e) { - return "prepare "; + return false; } try { $exec = $prep->execute(array_values($data)); @@ -252,7 +257,7 @@ function i3GeoAdminInsert($pdo,$tabela,$data){ i3GeoAdminInsertLog($pdo,$sql,array_values($data)); return true; } catch (PDOException $e) { - return "execute "; + return false; } } /** diff --git a/admin1/usuarios/operacoes/exec.php b/admin1/usuarios/operacoes/exec.php index 2e836e7..dde1b6c 100755 --- a/admin1/usuarios/operacoes/exec.php +++ b/admin1/usuarios/operacoes/exec.php @@ -32,7 +32,7 @@ $funcoesEdicao = array( "ADICIONAROPERACAO", "ALTERAROPERACAO", "ADICIONAPAPELOPERACOES", - "EXCLUIRPAPELOPERACAO" + "EXCLUIROPERACAO" ); if(in_array(strtoupper($funcao),$funcoesEdicao)){ if(verificaOperacaoSessao("admin/html/operacoes") == false){ @@ -118,10 +118,14 @@ switch ($funcao) } retornaJSON(array("operacoes"=>$o,"papeis"=>$papeis)); break; - case "EXCLUIRPAPELOPERACAO": - $retorna = excluirPapelOperacao($id_operacao,$id_papel,$dbhw); + case "EXCLUIROPERACAO": + $retorna = excluirOperacao($id_operacao,$dbhw); $dbhw = null; $dbh = null; + if($retorna == false){ + header("HTTP/1.1 500 erro ao consultar banco de dados"); + exit; + } retornaJSON($retorna); exit; break; @@ -145,59 +149,56 @@ function adicionarOperacao($codigo,$descricao,$papeis,$dbhw){ //$papeis deve ser um array function alterarOperacao($id_operacao,$codigo,$descricao,$papeis,$dbhw){ global $esquemaadmin; - try{ - if($convUTF){ - $descricao = utf8_encode($descricao); - } - $dataCol = array( - "codigo" => $codigo, - "descricao" => $descricao - ); - i3GeoAdminUpdate($dbhw,"i3geousr_operacoes",$dataCol,"WHERE id_operacao = $id_operacao"); - //apaga todos os papeis - excluirPapelOperacao($id_operacao,"",$dbhw); - if(!empty($papeis)){ - //atualiza papeis vinculados - foreach($papeis as $p){ - adicionaPapelOperacao($id_operacao,$p,$dbhw); - } - } - $retorna = $id_operacao; - return $retorna; + if($convUTF){ + $descricao = utf8_encode($descricao); } - catch (PDOException $e){ + $dataCol = array( + "codigo" => $codigo, + "descricao" => $descricao + ); + $resultado = i3GeoAdminUpdate($dbhw,"i3geousr_operacoes",$dataCol,"WHERE id_operacao = $id_operacao"); + if($resultado == false){ + return false; + } + //apaga todos os papeis + $resultado = excluirPapeisOperacao($id_operacao,$dbhw); + if($resultado == false){ return false; } + if(!empty($papeis)){ + //atualiza papeis vinculados + foreach($papeis as $p){ + $resultado = adicionaPapelOperacao($id_operacao,$p,$dbhw); + if($resultado == false){ + return false; + } + } + } + return $id_operacao; } function adicionaPapelOperacao($id_operacao,$id_papel,$dbhw){ global $esquemaadmin; - try{ - $dataCol = array( - "id_operacao" => $id_operacao, - "id_papel" => $id_papel - ); - i3GeoAdminInsert($dbhw,"i3geousr_operacoespapeis",$dataCol); - return true; - } - catch (PDOException $e){ - return false; - } + $dataCol = array( + "id_operacao" => $id_operacao, + "id_papel" => $id_papel + ); + $resultado = i3GeoAdminInsert($dbhw,"i3geousr_operacoespapeis",$dataCol); + return $resultado; } -function excluirPapelOperacao($id_operacao,$id_papel,$dbhw){ +function excluirOperacao($id_operacao,$dbhw){ global $esquemaadmin; - try{ - if($id_papel == ""){ - $sql = "DELETE from ".$esquemaadmin."i3geousr_operacoespapeis WHERE id_operacao = $id_operacao"; - } - else{ - $sql = "DELETE from ".$esquemaadmin."i3geousr_operacoespapeis WHERE id_operacao = $id_operacao AND id_papel = $id_papel"; - } - $dbhw->query($sql); - i3GeoAdminInsertLog($dbhw,$sql); - return true; - } - catch (PDOException $e){ + $resultado = exclui($esquemaadmin."i3geousr_operacoes","id_operacao",$id_operacao,$dbhw,false); + if($resultado == false){ return false; } + if($resultado == true){ + $resultado = excluirPapeisOperacao($id_operacao,$dbhw); + } + return $resultado; +} +function excluirPapeisOperacao($id_operacao,$dbhw){ + global $esquemaadmin; + $resultado = exclui($esquemaadmin."i3geousr_operacoespapeis","id_operacao",$id_operacao,$dbhw,false); + return $resultado; } ?> diff --git a/admin1/usuarios/operacoes/index.js b/admin1/usuarios/operacoes/index.js index ab09cb6..bf5c414 100755 --- a/admin1/usuarios/operacoes/index.js +++ b/admin1/usuarios/operacoes/index.js @@ -169,16 +169,21 @@ function excluirOperacaoDialogo(id_operacao){ } function excluirOperacao(id_operacao){ modalAguarde(true); - /* - var parametros = $("#form-modal form").serialize(); - fechaModalGeral(); $.post( - "exec.php?funcao=adicionarOperacao", - parametros, - function(data, status){ - modalAguarde(false); - pegaOperacoes(); - } + "exec.php?funcao=excluirOperacao", + "id_operacao="+id_operacao + ) + .done( + function(data, status){ + modalAguarde(false); + iconeAguarde(ondeListaOperacoes); + pegaOperacoes(); + } + ) + .fail( + function(data){ + modalAguarde(false); + mostraErro(data.status + " " +data.statusText); + } ); - */ } -- libgit2 0.21.2