PABX da Simples IP
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

126 lines
4.3 KiB

<?php
require('funcoesFormulario.php');
$templateName = 'agendaRamais/depto/dptoRamaisRelaciona.html';
$tpLayout = -1;
$fieldsForm = array();
$fieldsForm = IsPostBack() ? $_POST : $_GET;
$org_id = GetOrganizacao();
//Id da campanha
$idPausa = $fieldsForm['id'];
$fieldsForm['erro'] = "";
$departamento = $fieldsForm['dpto'];
$ramaisInc = $fieldsForm['ramaisInc'];
$ramais = $fieldsForm['ramais'];
if (isset($fieldsForm['btIncGrupo'])) {
if (empty($fieldsForm['ramais'])) {
$fieldsForm['erro'] = fmtMsg('Selecione um ramal!');
} else {
pg_query($dbcon, 'begin');
foreach ($fieldsForm['ramais'] as $ramal) {
$query = "INSERT INTO rma_depto_ramais (nome, dpto_id, org_id) VALUES('%s', '%s', %s)";
$query = sprintf($query, $ramal, $departamento, $org_id);
$result = pg_query($dbcon, $query);
if (!$result) {
break;
}
}
if ($result) {
pg_query($dbcon, 'commit');
} else {
pg_query($dbcon, 'rollback');
}
$fieldsForm['erro'] = $result ? fmtMsg('Ramal incluido com sucesso!') : fmtErro('O Ramal n<EFBFBD>o pode ser incluido!', pg_last_error($dbcon));
}
} else if (isset($fieldsForm['btRmGrupo'])) {
if (empty($fieldsForm['ramaisInc'])) {
$fieldsForm['erro'] = fmtMsg('Selecione um ramal!');
} else {
pg_query($dbcon, 'begin');
foreach ($fieldsForm['ramaisInc'] as $ramalInc) {
$query = "DELETE FROM rma_depto_ramais WHERE nome = '%s' AND dpto_id = '%s'";
$query = sprintf($query, $ramalInc, $departamento);
$result = pg_query($dbcon, $query);
if (!$result) {
break;
}
}
if ($result) {
pg_query($dbcon, 'commit');
} else {
pg_query($dbcon, 'rollback');
}
$fieldsForm['erro'] = $result ? fmtMsg('Ramal removido com sucesso!') : fmtErro('O ramal n<EFBFBD>o pode ser removido!', pg_last_error($dbcon));
}
}
$fieldsForm['listaGrupo'] = GetPausasGrupo($dbcon, $departamento, $fieldsForm['ramais']);
$fieldsForm['listaGrupoInc'] = GetPausasGrupoInc($dbcon, $fieldsForm['ramaisInc']);
/*
* Atualiza templates templates
*/
foreach ($fieldsForm as $key => $value) {
$smarty->assign($key, $value);
}
GetTemplate($smarty, $templateName);
/*
* IMPRIMI RAMAIS QUE POSSUEM DEPARTAMENTO
*/
function GetPausasGrupo($dbcon, $departamento, $codSel = 0)
{
$org_id = GetOrganizacao();
$agentes = "<select name=\"ramaisInc[]\" style=\"width:280px\" id=\"ramaisInc\" size=\"8\" multiple=\"multiple\">";
$query = " SELECT b.dpto_nome, a.nome, a.callerid
FROM pbx_ramais_mesa a, rma_departamentos b, rma_depto_ramais c
WHERE a.nome = c.nome
AND c.dpto_id = b.dpto_id
AND c.dpto_id = '$departamento'
AND b.org_id = {$org_id}
ORDER BY a.nome";
$result = pg_query($dbcon, $query);
while ($dados = pg_fetch_row($result)) {
if ($codSel == $dados[0]) {
$sel = "selected";
} else {
$sel = "";
}
$agentes .= "<option value=\"$dados[1]\" $sel>$dados[2]/$dados[1]</option>";
}
$agentes .= "</select>";
return $agentes;
}
/*
* IMPRIMI RAMAIS QUE ESTAO SEM DEPARTAMENTO!
*/
function GetPausasGrupoInc($dbcon, $codSel = 0)
{
$org_id = GetOrganizacao();
$agentes = "<select name=\"ramais[]\" style=\"width:280px\" id=\"ramais\" size=\"8\" multiple=\"multiple\">";
$query = " SELECT a.nome, a.callerid
FROM pbx_ramais_mesa a
LEFT join rma_depto_ramais b on b.nome = a.nome
LEFT join rma_departamentos c on c.dpto_id = b.dpto_id
WHERE c.dpto_id is null
AND b.org_id = {$org_id}
ORDER BY a.nome ASC";
$result = pg_query($dbcon, $query);
while ($dados = pg_fetch_row($result)) {
if ($codSel == $dados[0]) {
$sel = "selected";
} else {
$sel = "";
}
$agentes .= "<option value=\"$dados[0]\" $sel>$dados[1]/$dados[0]</option>";
}
$agentes .= "</select>";
return $agentes;
}