diff --git a/admin/CadGruposAtendimento.php b/admin/CadGruposAtendimento.php
index 98828981..2e7804ee 100644
--- a/admin/CadGruposAtendimento.php
+++ b/admin/CadGruposAtendimento.php
@@ -91,6 +91,7 @@
$acao = $_GET["acao"];
$acao2 = $_GET["acao2"];
$org_id = $_SESSION['SSEmpresaPadrao'];
+ $id = $_GET["id"] ?? 0;
/*
* Parametros necessarios para manter a paginacao.
*/
@@ -99,24 +100,22 @@
if ($acao2 == "salva") {
$id = $_POST["id"] ?? 0;
$nome = RemoveAcentos($_POST["nome"], true);
- $numero = 0;
if ($acao == "edita") {
$query = "select nome from pbx_grupos_atendimento where nome='$nome' and id <> $id and org_id = $org_id";
} else {
$query = "select nome from pbx_grupos_atendimento where nome='$nome' and org_id = $org_id";
- $numero = GetIdGrupoAtendimento($dbcon);
}
$msg = '';
$result = pg_query($dbcon, $query);
$dados = pg_fetch_array($result);
$existe = trim($dados['nome']);
+ $nome_formatado = str_replace(' ', '', $nome);
+ $nome_formatado = strtolower($nome_formatado);
+
if ($existe != '') {
$msg = "JÁ EXISTE UM GRUPO COM O NOME $existe";
}
- if ($numero > 63) {
- $msg = "É PERMITIDO CADASTRAR APENAS 63 GRUPOS";
- }
if (!empty($msg)) {
echo "";
} else {
if ($acao == "inseri") {
- $query = "INSERT INTO pbx_grupos_atendimento(id,nome,org_id) VALUES ('$numero','$nome', $org_id)";
- pg_query($dbcon, $query);
- $id_ult = $numero;
+ pg_query($dbcon, "begin");
+ $try_query = "INSERT INTO pbx_grupos_atendimento(nome, org_id) VALUES ('$nome', $org_id) RETURNING id";
+ $success_query = pg_query($dbcon, $try_query);
+
+ if (!$success_query) {
+ pg_query($dbcon, 'rollback');
+ return false;
+ }
+
+ $retorno = pg_fetch_assoc($success_query);
+ $id_ult = $retorno['id'];
+
+ $update_query = "UPDATE pbx_grupos_atendimento SET nome_asterisk = '$org_id$nome_formatado' WHERE org_id = $org_id AND id = $id_ult";
+ $success_query = pg_query($dbcon, $update_query);
+
+ if (!$success_query) {
+ pg_query($dbcon, 'rollback');
+ return false;
+ }
+
+ pg_query($dbcon, "commit");
}
if ($acao == "edita") {
- $ramaisExistentes = array();
+ pg_query($dbcon, "begin");
$query = "select ramal from pbx_grupos_atendimento_ramais where id_grupo = $id and org_id=$org_id";
$result = pg_query($dbcon, $query);
- while ($row = pg_fetch_row($result))
- $ramaisExistentes[] = $row[0];
+
+ if (!$result) {
+ pg_query($dbcon, 'rollback');
+ return false;
+ }
$query = "UPDATE pbx_grupos_atendimento SET nome='$nome' WHERE id=$id AND org_id = $org_id";
- pg_query($dbcon, $query);
+ $result_update = pg_query($dbcon, $query);
- $query = "delete from pbx_grupos_atendimento_ramais where id_grupo=$id and org_id=$org_id";
- pg_query($dbcon, $query);
+ if (!$result_update) {
+ pg_query($dbcon, 'rollback');
+ return false;
+ }
+
+ $query = "delete from pbx_grupos_atendimento_ramais where id_grupo=$id and org_id = $org_id";
+ $result_delete = pg_query($dbcon, $query);
+
+ if (!$result_delete) {
+ pg_query($dbcon, 'rollback');
+ return false;
+ }
+ pg_query($dbcon, "commit");
}
$ramais = $_POST["ramais"];
for ($i = 0; $i < count($ramais); $i++) {
if ($acao == "edita") {
- $query = "insert into pbx_grupos_atendimento_ramais (id_grupo,ramal,org_id) values ($id,'$ramais[$i]', $org_id)";
+ $query = "insert into pbx_grupos_atendimento_ramais (id_grupo,ramal,org_id, nome_asterisk) values ($id,'$ramais[$i]', $org_id, '$org_id$nome_formatado')";
} else {
- $query = "insert into pbx_grupos_atendimento_ramais (id_grupo,ramal,org_id) values ($id_ult,'$ramais[$i]', $org_id)";
+ $query = "insert into pbx_grupos_atendimento_ramais (id_grupo,ramal,org_id, nome_asterisk) values ($id_ult,'$ramais[$i]', $org_id, '$org_id$nome_formatado')";
}
pg_query($dbcon, $query);
}
@@ -160,7 +191,6 @@
gera_arquivos($dbcon, 'IAX_PBX'); //gera arquivos e executa o reload dos dados no asterisk
// GeraDahdi($dbcon, 1);
GeraKhomp($dbcon, 1);
- gera_arquivos($dbcon, 'DIGIVOICE');
echo "