forked from SimplesIP/pabx-app
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.
99 lines
3.4 KiB
99 lines
3.4 KiB
<?php |
|
|
|
require('funcoesFormulario.php'); |
|
$templateName = 'discador/campanhaAtivacao.htm'; |
|
//define tipo de formulario |
|
$tpLayout = 1; |
|
|
|
//Id da campanha |
|
$idCampanha = $_REQUEST['cmp_id']; |
|
$_REQUEST['erro'] = ""; |
|
|
|
if (isset($_REQUEST['btAtivar'])) { |
|
try { |
|
$inTran = 0; |
|
$ativar = $_REQUEST['cmp_status'] == 1; |
|
$concluir = $_REQUEST['cmp_status'] == 3; |
|
|
|
$result = pg_query($dbcon, 'begin'); |
|
if (!$result) |
|
throw new Exception('Não foi possível inciar a operação!'); |
|
$inTran = 1; |
|
if ($ativar || $concluir) { |
|
|
|
if($ativar){ |
|
$query = " select count(*) from pbx_campanha a where a.id_dac = (select id_dac from pbx_campanha where cmp_id = '$idCampanha')and a.cmp_status = '1'"; |
|
$result = pg_query($dbcon, $query); |
|
$row = pg_fetch_row($result); |
|
if($row[0]){ |
|
throw new Exception('Já existe uma lista ativa para a "Fila(DAC)" ligada a esta campanha!'); |
|
} |
|
} |
|
|
|
$query = "select count(*) as lista from pbx_campanha_lista where cmp_id = '$idCampanha' and list_status = '1'"; |
|
$result = pg_query($dbcon, $query); |
|
$row = pg_fetch_array($result); |
|
$statuslista = $row['lista']; |
|
|
|
if (!$statuslista) |
|
throw new Exception('Não Existe uma lista ativa para essa Campanha!'); |
|
} |
|
|
|
if ($concluir) { |
|
PendenciasDiscador($dbcon, $idCampanha); |
|
DesativaLista($dbcon, $idCampanha); |
|
} |
|
/* |
|
* Excluir cmp_status = 0, apenas muda o status das listas. |
|
*/ |
|
$query = "update pbx_campanha set cmp_status = '%s' where cmp_id = '%s' "; |
|
$query = sprintf($query, $_REQUEST['cmp_status'], $idCampanha); |
|
$result = pg_query($dbcon, $query); |
|
|
|
if (!$result) |
|
throw new Exception('A operação não pode ser realizada!'); |
|
|
|
$_REQUEST['erro'] = fmtMsg("Campanha foi alterada com sucesso!", 0); |
|
|
|
|
|
$GLOBALS['jsStartup'][] = "window.close()"; |
|
$GLOBALS['jsStartup'][] = "window.opener.ResetForm();"; |
|
|
|
$result = pg_query($dbcon, 'commit'); |
|
if (!$result) |
|
throw new Exception('Não foi encerrar a operação!'); |
|
} catch (Exception $e) { |
|
if ($inTran) |
|
pg_query($dbcon, 'rollback'); |
|
$_REQUEST['erro'] = fmtErro($e->getMessage() . (IsAdmin() ? ('Erro: ' . pg_last_error($dbcon) ) : '')); |
|
} |
|
} |
|
|
|
$query = "select * from pbx_campanha where cmp_id = %s "; |
|
$query = sprintf($query, $idCampanha); |
|
$result = pg_query($dbcon, $query); |
|
$dados = pg_fetch_array($result); |
|
|
|
foreach ($dados as $key => $value) { |
|
$_REQUEST[$key] = $dados[$key]; |
|
} |
|
|
|
$codSel = $_REQUEST['cmp_status']; |
|
$_REQUEST['cmp_old_status'] = $codSel; |
|
/* |
|
* Campanha com status 0-Cancelada ou 5-Concluida não pode ser reativada. |
|
*/ |
|
$desabStatus = ($codSel == 0); |
|
$_REQUEST['cmp_status'] = GetStatusCampanha($dbcon, $codSel, $desabStatus, "'$codSel'"); |
|
|
|
$jsJQuery[] = "\$('#cmp_status').change(function(){document.getElementById(\"btAtivar\").disabled = (this.value == -1);}) "; |
|
$GLOBALS['jsStartup'][] = "document.getElementById(\"btAtivar\").disabled = true;"; |
|
/* |
|
* Atualiza templates templates |
|
*/ |
|
foreach ($_REQUEST as $key => $value) { |
|
$smarty->assign($key, $value); |
|
} |
|
|
|
GetTemplate($smarty, $templateName); |
|
?>
|
|
|