Browse Source

Merge pull request 'Correcoes grupos de captura e monitor de ramais' (#346) from matheorb/developer:dev-1.9 into 1.9

Reviewed-on: SimplesIP/pabx-app#346
1.9
Matheo Bonucia 2 months ago
parent
commit
79fe42b9ae
  1. 37
      admin/CadGruposAtendimento.php
  2. 50
      admin/GruposAtendimento.php
  3. 4
      admin/monitorRamal.php

37
admin/CadGruposAtendimento.php

@ -90,9 +90,9 @@
<?php
$acao = $_GET["acao"];
$acao2 = $_GET["acao2"];
$org_id = GetOrganizacao();
$org_id = $_SESSION['SSEmpresaPadrao'];
/*
* Parametros necessarios para manter a pagina<EFBFBD><EFBFBD>o.
* Parametros necessarios para manter a paginacao.
*/
$param = sprintf('&numRamal=%s&pgn=%s&bloco=%s&pg=%s', $_REQUEST['numRamal'], $_REQUEST['pgn'], $_REQUEST['bloco'], $_REQUEST['pg']);
@ -101,9 +101,9 @@
$nome = RemoveAcentos($_POST["nome"], true);
$numero = 0;
if ($acao == "edita") {
$query = "select nome from pbx_grupos_atendimento where nome='$nome' and id <> $id";
$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'";
$query = "select nome from pbx_grupos_atendimento where nome='$nome' and org_id = $org_id";
$numero = GetIdGrupoAtendimento($dbcon);
}
$msg = '';
@ -112,10 +112,10 @@
$existe = trim($dados['nome']);
if ($existe != '') {
$msg = "JA EXISTE UM GRUPO COM O NOME $existe";
$msg = "JÁ EXISTE UM GRUPO COM O NOME $existe";
}
if ($numero > 63) {
$msg = "<EFBFBD> PERMITIDO CADASTRAR APENAS 63 GRUPOS";
$msg = "É PERMITIDO CADASTRAR APENAS 63 GRUPOS";
}
if (!empty($msg)) {
@ -137,9 +137,7 @@
while ($row = pg_fetch_row($result))
$ramaisExistentes[] = $row[0];
$query = "UPDATE pbx_grupos_atendimento
SET nome='$nome'
WHERE id=$id";
$query = "UPDATE pbx_grupos_atendimento SET nome='$nome' WHERE id=$id AND org_id = $org_id";
pg_query($dbcon, $query);
$query = "delete from pbx_grupos_atendimento_ramais where id_grupo=$id and org_id=$org_id";
@ -149,11 +147,9 @@
for ($i = 0; $i < count($ramais); $i++) {
if ($acao == "edita") {
$ramal_grupo = $org_id . $ramais[$i];
$query = "insert into pbx_grupos_atendimento_ramais (id_grupo,ramal,org_id) values ($id,'$ramal_grupo', $org_id)";
$query = "insert into pbx_grupos_atendimento_ramais (id_grupo,ramal,org_id) values ($id,'$ramais[$i]', $org_id)";
} else {
$ramal_grupo = $org_id . $ramais[$i];
$query = "insert into pbx_grupos_atendimento_ramais (id_grupo,ramal,org_id) values ($id_ult,'$ramal_grupo', $org_id)";
$query = "insert into pbx_grupos_atendimento_ramais (id_grupo,ramal,org_id) values ($id_ult,'$ramais[$i]', $org_id)";
}
pg_query($dbcon, $query);
}
@ -174,12 +170,12 @@
}
if ($acao == "edita") {
$id = $_GET["id"] ?? "0";
$query = "SELECT * FROM pbx_grupos_atendimento where id=$id";
$id = $_GET["id"] ?? 0;
$query = "SELECT * FROM pbx_grupos_atendimento where id=$id AND org_id = $org_id";
$result = pg_query($dbcon, $query);
} else {
$id = 0;
$query = "SELECT * FROM pbx_grupos_atendimento where id is null";
$query = "SELECT * FROM pbx_grupos_atendimento where id is null and org_id = $org_id";
}
$result = pg_query($dbcon, $query);
@ -214,11 +210,12 @@
{
LimpaGruposCapturaRamais($dbcon);
$org_id = GetOrganizacao();
$org_id = $_SESSION['SSEmpresaPadrao'];
$query = "SELECT a.ramal
FROM pbx_grupos_atendimento_ramais a, pbx_ramais b
WHERE b.nome = a.ramal
AND a.org_id = {$org_id}
WHERE b.nome = a.ramal
AND a.org_id = b.org_id
AND a.org_id = {$org_id}
ORDER BY a.ramal, a.id_grupo";
$result = pg_query($dbcon, $query);
$ramais = array();
@ -230,6 +227,8 @@
$query = "SELECT a.id_grupo, a.ramal, b.tipo_ramal as dispositivo
FROM pbx_grupos_atendimento_ramais a, pbx_ramais b
WHERE b.nome = a.ramal
AND a.org_id = b.org_id
AND a.org_id = {$org_id}
AND a.ramal = '$ramalGrupo'
ORDER BY a.ramal, a.id_grupo";
$result = pg_query($dbcon, $query);

50
admin/GruposAtendimento.php

@ -1,13 +1,13 @@
<?php
$acao = isset($_GET['acao']) ? trim($_GET['acao']) : 'select';
$id = isset($_GET['id']) ? trim($_GET['id']) : 0;
$org_id = GetOrganizacao();
$org_id = $_SESSION['SSEmpresaPadrao'];
$filtro = isset($_GET["numRamal"]) ? trim($_GET["numRamal"]) : '';
$filtroNovo = !isset($_GET["pgn"]) ? '' : sprintf("&numRamal%s&pgn=%s&bloco=%s&pg=%s", $_GET["numRamal"], $_GET["pgn"], $_GET["bloco"], $_GET["pg"]);
$recontaPag = ($acao == 'inseri') || ($acao == "deleta") || isset($_GET['pesquisa']);
if ($acao == "deleta") {
LimpaGruposCapturaRamais($dbcon);
LimpaGruposCapturaRamais($dbcon, $org_id);
$query = "delete from pbx_grupos_atendimento where id='$id' and org_id=$org_id";
pg_query($dbcon, $query);
@ -15,7 +15,7 @@ if ($acao == "deleta") {
$query = "delete from pbx_grupos_atendimento_ramais where id_grupo='$id' and org_id=$org_id";
pg_query($dbcon, $query);
AtualizaRamaisCaptura($dbcon);
AtualizaRamaisCaptura($dbcon, $org_id);
//gera arquivos e executa o reload dos dados no asterisk
gera_arquivos($dbcon, 'SIP_RAMAIS'); //gera arquivos e executa o reload dos dados no asterisk
@ -25,10 +25,12 @@ if ($acao == "deleta") {
}
function AtualizaRamaisCaptura($dbcon) {
function AtualizaRamaisCaptura($dbcon, $org_id) {
$query = "select a.ramal
from pbx_grupos_atendimento_ramais a, pbx_ramais b
where b.nome = a.ramal
where b.nome = a.ramal
and a.org_id = b.org_id
and a.org_id = $org_id
order by a.ramal, a.id_grupo"; //
$result = pg_query($dbcon, $query);
$ramais = array();
@ -41,6 +43,8 @@ function AtualizaRamaisCaptura($dbcon) {
from pbx_grupos_atendimento_ramais a, pbx_ramais b
where b.nome = a.ramal
and a.ramal = '$ramalGrupo'
and a.org_id = b.org_id
and a.org_id = $org_id
order by a.ramal, a.id_grupo";
$result = pg_query($dbcon, $query);
@ -58,7 +62,7 @@ function AtualizaRamaisCaptura($dbcon) {
$tipo = strtoupper($dados['dispositivo']);
}
$query = GetTableRamal($tipo);
$query = GetTableRamal($tipo, $org_id);
$query = sprintf($query, $pick, $callgrupRamal, $ramalGrupo);
pg_query($dbcon, $query);
@ -85,40 +89,40 @@ function GetRamaisExcluidos($ramaisExistentes, $ramais) {
return $ramaisExcl;
}
function GetTableRamal($tipo) {
function GetTableRamal($tipo, $org_id) {
if ((strpos($tipo, 'SIP') !== false) || (strpos($tipo, 'DAHDI') !== false)) {
return "update pbx_sip_ramais set pickupgroup = '%s', callgroup = '%s' where nome = '%s'";
return "update pbx_sip_ramais set pickupgroup = '%s', callgroup = '%s' where nome = '%s' and org_id = $org_id";
}
if (strpos($tipo, 'IAX') !== false) {
return "update pbx_iax_pbx set pickupgroup = '%s', callgroup = '%s' where nome = '%s'";
return "update pbx_iax_pbx set pickupgroup = '%s', callgroup = '%s' where nome = '%s' and org_id = $org_id";
}
if (strpos($tipo, 'DGV') !== false) {
return "update pbx_dgv set capturar = '%s', grupo = '%s' where numero = '%s'";
return "update pbx_dgv set capturar = '%s', grupo = '%s' where numero = '%s' and org_id = $org_id";
}
if (strpos($tipo, 'DAHDI') !== false) {
return "update pbx_dahdi set capturar = '%s', grupo = '%s' where numero = '%s'";
return "update pbx_dahdi set capturar = '%s', grupo = '%s' where numero = '%s' and org_id = $org_id";
}
if (strpos($tipo, 'KHOMP') !== false) {
return "update pbx_khomp set capturar = '%s', grupo = '%s' where numero = '%s'";
return "update pbx_khomp set capturar = '%s', grupo = '%s' where numero = '%s' and org_id = $org_id";
}
return false;
}
function LimpaGruposCapturaRamais($db) {
$query = "update pbx_sip_ramais set pickupgroup = '', callgroup = '' where 1=1";
function LimpaGruposCapturaRamais($db, $org_id) {
$query = "update pbx_sip_ramais set pickupgroup = '', callgroup = '' where 1=1 and org_id = $org_id";
pg_query($db, $query);
$query = "update pbx_iax_pbx set pickupgroup = '', callgroup = '' where 1=1";
$query = "update pbx_iax_pbx set pickupgroup = '', callgroup = '' where 1=1 and org_id = $org_id";
pg_query($db, $query);
$query = "update pbx_dgv set capturar = '', grupo = '' where 1=1";
$query = "update pbx_dgv set capturar = '', grupo = '' where 1=1 and org_id = $org_id";
pg_query($db, $query);
$query = "update pbx_dahdi set capturar = '', grupo = '' where 1=1";
$query = "update pbx_dahdi set capturar = '', grupo = '' where 1=1 and org_id = $org_id";
pg_query($db, $query);
$query = "update pbx_khomp set capturar = '', grupo = '' where 1=1";
$query = "update pbx_khomp set capturar = '', grupo = '' where 1=1 and org_id = $org_id";
pg_query($db, $query);
}
?>
<script>
<!-- <script>
// Executar este script após a execução da ação de deletar
// Obtém a URL atual
@ -137,7 +141,7 @@ if (updatedUrl === currentUrl) {
// Atualiza a URL na barra de endereço sem recarregar a página
window.history.replaceState(null, null, updatedUrl);
</script>
</script> -->
<table width="99%" align="center" border="0" cellpadding="2" cellspacing="0" class="filtro">
@ -159,7 +163,7 @@ window.history.replaceState(null, null, updatedUrl);
<tr>
<th align="center">Id</th>
<th> Nome </th>
<th align="center">A<EFBFBD><EFBFBD>es</th>
<th align="center">Ações</th>
</tr>
<?php
$janW = '500';
@ -170,7 +174,7 @@ window.history.replaceState(null, null, updatedUrl);
$compl = PreparaLike($filtro, true);
$compl = sprintf("and (a.nome ilike %s)", $compl);
}
$query = "SELECT id, nome FROM pbx_grupos_atendimento a where 1=1 $compl order by id asc";
$query = "SELECT id, nome FROM pbx_grupos_atendimento a where 1=1 $compl AND org_id = $org_id order by id asc";
$params = "&pbxRequest=1&numRamal=$filtro";
$links = PaginaDados($idProg, $query, $params, $regPagina, $offSet, $pagMostra, true);
@ -197,7 +201,7 @@ window.history.replaceState(null, null, updatedUrl);
} if ($z == 0) {
?>
<tr align="center" valign="middle" bordercolor="#999999" class="labels">
<td colspan="8"><div align="center" class="info"><img src="images/shutdown.gif" width="24" height="24" border="0" align="absmiddle" /> N<EFBFBD>o foram encontrados registros </div></td>
<td colspan="8"><div align="center" class="info"><img src="images/shutdown.gif" width="24" height="24" border="0" align="absmiddle" /> Não foram encontrados registros </div></td>
</tr>
<?php
}

4
admin/monitorRamal.php

@ -135,7 +135,7 @@ function GetConnection($conStr)
{
$ret = pg_connect($conStr, PGSQL_CONNECT_FORCE_NEW);
if (!$ret) {
logTrb('GetConnection', "Conexao com banco de dados", "Erro ao executar conexao no banco", 'ERRO', $conStr);
logTrf('GetConnection', "Conexao com banco de dados", "Erro ao executar conexao no banco", 'ERRO', $conStr);
}
return $ret;
}
@ -156,7 +156,7 @@ function GetRamaisNome($tipoDispositivo)
if ($query) {
$query .= "union all\n";
}
$query .= "SELECT 'T' as tipo,nome, callerid, tipo as protocol, nome_asterisk FROM pbx_troncos WHERE tipo in('SIP', 'IAX2') AND org_id = $org_id \n";
$query .= "SELECT 'T' as tipo,nome, callerid, tipo as protocol, nome_asterisk as registro FROM pbx_troncos WHERE tipo in('SIP', 'IAX2') AND org_id = $org_id \n";
}
$result = pg_query($db, $query);
if (pg_num_rows($result)) {

Loading…
Cancel
Save