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.
122 lines
5.8 KiB
122 lines
5.8 KiB
<?php |
|
|
|
include_once 'funcoesFormulario.php'; |
|
$tpl = 'cadastros/ServicosChamadas/servicosChamadas.tpl'; |
|
$acao = isset($_REQUEST['acao']) ? $_REQUEST['acao'] : 'select'; |
|
$filtroStatus = isset($_POST['status']) ? $_POST['status'] : 'A'; |
|
$paramPesquisa = isset($_REQUEST['paramPesquisa']) ? $_REQUEST['paramPesquisa'] : ''; |
|
$filtro = isset($_REQUEST["paramPesquisa"]) ? trim($_REQUEST["paramPesquisa"]) : ''; |
|
$filtroNovo = !isset($_REQUEST["pgn"]) ? '' : sprintf("¶mPesquisa%s&pgn=%s&bloco=%s&pg=%s", $_REQUEST["paramPesquisa"], $_REQUEST["pgn"], $_REQUEST["bloco"], $_REQUEST["pg"]); |
|
$recontaPag = ($acao == 'novo') || (GetFormAcao() == 'apagar') || isset($_POST['pesquisa']); |
|
$imgNovo = sprintf('<a href="#" onclick="ServicosChmadasIncluir(%s);" ><img src="images/novo.gif" width="16" height="16" border="0" title="Inclui novo Status" align="absmiddle">Novo Serviço</a>', QuotedStr($filtroNovo)); |
|
|
|
if ($acao == 'apagar') { |
|
$serv_id = strtoupper(trim($_REQUEST['serv_id'])); |
|
$status = trim($_REQUEST['serv_status']); |
|
|
|
try { |
|
if (!$serv_id) { |
|
GeraExcept("Informe um indentificador válido para o \"Serviço\"!"); |
|
} else if (RegistroInc($dbcon, sprintf(' select count(*) from pbx_rotas_entrada where serv_id = %s', QuotedStr($serv_id)))) { |
|
GeraExcept("Desvincule o serviço das rotas de entrada para desativa-lo!"); |
|
} |
|
|
|
$query = sprintf("update pbx_servicos set serv_status = $status where serv_id = %s", QuotedStr($serv_id)); |
|
$result = pg_query($query); |
|
if (!$result) |
|
GeraExcept("Erro ao realizar a operação!"); |
|
|
|
$jsStartup[] = sprintf("alert('%s');", 'Operação realizada com sucesso!'); |
|
} catch (Exception $ex) { |
|
$jsStartup[] = sprintf("alert('%s');", $ex->getMessage()); |
|
} |
|
} else if ($acao == 'novo') { |
|
$serv_id = strtoupper(trim($_REQUEST['serv_id'])); |
|
try { |
|
if (!$serv_id) { |
|
GeraExcept("Informe um indentificador válido para o \"Serviço\"!"); |
|
} else if (RegistroInc($dbcon, sprintf('select count(*) from pbx_servicos where serv_id = %s', QuotedStr($serv_id)))) { |
|
GeraExcept("Serviço já cadastrado!"); |
|
} |
|
|
|
|
|
$query = sprintf("insert into pbx_servicos(serv_id)values(%s)", QuotedStr($serv_id)); |
|
$result = pg_query($query); |
|
if (!$result) |
|
GeraExcept("Erro ao realizar a operação!"); |
|
|
|
$jsStartup[] = sprintf("alert('%s');", 'Operação realizada com sucesso!'); |
|
} catch (Exception $ex) { |
|
$jsStartup[] = sprintf("alert('%s');", $ex->getMessage()); |
|
} |
|
} |
|
|
|
$compl = ''; |
|
if (isset($_REQUEST['paramPesquisa']) && $_REQUEST['paramPesquisa']) { |
|
$compl = PreparaLike($filtro, true); |
|
$compl = sprintf("and (a.serv_id ilike %s)", $compl); |
|
} |
|
|
|
switch($filtroStatus){ |
|
case 'A': |
|
$compl .= 'AND serv_status = 1'; |
|
break; |
|
case 'I': |
|
$compl .= 'AND serv_status = 0'; |
|
break; |
|
} |
|
|
|
$query = "select serv_id, serv_status from pbx_servicos a where 1=1 $compl order by 1"; |
|
$linha = ""; |
|
$params = "¶mPesquisa=$filtro"; |
|
$links = PaginaDados($idProg, $query, $params, $regPagina, $offSet, $pagMostra, true); |
|
$query .= " limit $regPagina offset $offSet"; |
|
$result = pg_query($dbcon, $query); |
|
while ($dados = @pg_fetch_array($result)) { |
|
$serv_id = $dados["serv_id"]; |
|
$serv_status = $dados["serv_status"]; |
|
$rotas = ServicosRotas($serv_id); |
|
|
|
$msgDelete = ($serv_status ? 'Desativa o registro selecionado!' : 'Ativa o registro selecionado!'); |
|
$imgEdit = "<img src=\"imgSite/editaUser.png\" width=\"16\" height=\"16\" border=\"0\" title=\"Edita o registro: $serv_id\" onclick=\"ServicosChmadasAtualizar('$serv_id');\">"; |
|
$serv = sprintf("<a href=\"#\" style=\"color: %s;\" title=\"%s o Serviço Selecionado: $serv_id\" onclick=\"DeletaCadastro('278', '&serv_id=$serv_id&serv_status=%s$params', '$serv_id','%s');\">$serv_id</a>", ($serv_status ? '#000' : '#f00'), ($serv_status ? 'Desativa' : 'Ativa'), ($serv_status ? 0 : 1), $msgDelete); |
|
$imgDelete = sprintf("<img src=\"imgSite/%s\" width=\"16\" height=\"16\" border=\"0\" title=\"%s o Serviço Selecionado: $serv_id\" onclick=\"DeletaCadastro('278', '&serv_id=$serv_id&serv_status=%s$params', '$serv_id','%s');\">", ($serv_status ? 'deletaUser.png' : 'volta16.gif'), ($serv_status ? 'Desativa' : 'Ativa'), ($serv_status ? 0 : 1), $msgDelete); |
|
$imgRotas = sprintf("<img src=\"imgSite/%s\" width=\"12\" height=\"12\ border=\"0\" title=\"%s\">", ($rotas ? 'troncoOn16.png' : 'troncoOff16.png'), ($rotas ? $rotas : 'Não existem rotas dependentes!')); |
|
$imgStatus = sprintf("<img src=\"imgSite/%s\" width=\"12\" height=\"12\ border=\"0\">", ($serv_status ? 'ok16.gif' : 'fecha16.png')); |
|
$linha .= " <tr> |
|
<td align=\"left\">$serv</td> |
|
<td align=\"center\" width=\"18\">$imgRotas</td> |
|
<td align=\"center\" width=\"18\">$imgStatus</td> |
|
<td align=\"center\" width=\"40\">$imgDelete</td> |
|
</tr>"; |
|
} |
|
|
|
$smarty->assign('erro', $msg); |
|
$smarty->assign("linhas", $linha); |
|
$smarty->assign("paramPesquisa", $paramPesquisa); |
|
$smarty->assign("imgNovo", $imgNovo); |
|
$smarty->assign("links", $links); |
|
$smarty->assign("pagMostra", $pagMostra); |
|
$smarty->assign("totalReg", $totalReg); |
|
$smarty->assign("pgn", $_REQUEST["pgn"]); |
|
$smarty->assign("bloco", $_REQUEST["bloco"]); |
|
$smarty->assign("pg", $_REQUEST["pg"]); |
|
$smarty->assign('filtroStatus', $filtroStatus); |
|
|
|
GetTemplate($smarty, $tpl); |
|
|
|
function ServicosRotas($serv_id) { |
|
$query = sprintf("select id, nome from pbx_rotas_entrada where serv_id = %s order by nome", QuotedStr($serv_id)); |
|
$result = pg_query($query); |
|
|
|
if (!$result || !pg_num_rows($result)) |
|
return ''; |
|
$str = 'Rotas associadas a este serviço: '; |
|
while ($dados = pg_fetch_array($result)) { |
|
$str .= $dados['id'] . '-' . $dados['nome'] . '; '; |
|
} |
|
|
|
return $str; |
|
} |
|
|
|
?>
|
|
|