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.
112 lines
3.5 KiB
112 lines
3.5 KiB
<?php |
|
|
|
require('funcoesFormulario.php'); |
|
$templateName = 'workflow/workflowEmailsDacs.htm'; |
|
//define tipo de formulario |
|
$tpLayout = 1; |
|
$upload = 0; |
|
|
|
$fieldsForm = array(); |
|
$fieldsForm = IsPostBack() ? $_POST : $_GET; |
|
|
|
$fieldsForm['erro'] = ""; |
|
/* |
|
* Id do email relacionado |
|
*/ |
|
$wkf_email_id = $fieldsForm['wkf_email_id']; |
|
|
|
if (isset($fieldsForm['btIncDac'])) { |
|
if (empty($fieldsForm['listaDacs'])) { |
|
$fieldsForm['erro'] = fmtMsg('Selecione um Dac!'); |
|
} else { |
|
/* Inicio da transacao */ |
|
pg_query($dbcon, 'begin'); |
|
|
|
/* |
|
* Insere dacs relacionado ao email conforme selecionado |
|
*/ |
|
foreach ($fieldsForm['listaDacs'] as $idDac) { |
|
$query = "insert into pbx_workflow_emails_dacs(wkf_email_id, nome_dac) values(%s, '%s')"; |
|
$query = sprintf($query, $wkf_email_id, $idDac); |
|
$result = pg_query($dbcon, $query); |
|
if (!$result) |
|
break; |
|
} |
|
|
|
if ($result) { |
|
pg_query($dbcon, 'commit'); |
|
$jsStartup[] = "window.opener.ResetForm();"; |
|
} else { |
|
pg_query($dbcon, 'rollback'); |
|
} |
|
|
|
$fieldsForm['erro'] = $result ? fmtMsg('Dac incluido com sucesso!') : fmtErro('O Dac não pode ser incluido!', pg_last_error($dbcon)); |
|
} |
|
} else if (isset($fieldsForm['btRmDac'])) { |
|
if (empty($fieldsForm['listaDacsInc'])) { |
|
$fieldsForm['erro'] = fmtMsg('Selecione um Dac!'); |
|
} else { |
|
pg_query($dbcon, 'begin'); |
|
|
|
foreach ($fieldsForm['listaDacsInc'] as $idDac) { |
|
$query = "delete from pbx_workflow_emails_dacs where nome_dac = '%s' and wkf_email_id = '%s' "; |
|
$query = sprintf($query, $idDac, $wkf_email_id); |
|
$result = pg_query($dbcon, $query); |
|
|
|
if (!$result) |
|
break; |
|
} |
|
|
|
if ($result) { |
|
pg_query($dbcon, 'commit'); |
|
$jsStartup[] = "window.opener.ResetForm();"; |
|
} else { |
|
pg_query($dbcon, 'rollback'); |
|
} |
|
|
|
$fieldsForm['erro'] = $result ? fmtMsg('Dac removido com sucesso!') : fmtErro('O Dac não pode ser removido!', pg_last_error($dbcon)); |
|
} |
|
} |
|
|
|
$fieldsForm['listaDacs'] = GetDacWorkflow($dbcon, 'listaDacs', $wkf_email_id); |
|
$fieldsForm['listaDacsInc'] = GetDacWorkflow($dbcon, 'listaDacsInc', $wkf_email_id, true); |
|
|
|
|
|
/* |
|
* Atualiza templates templates |
|
*/ |
|
foreach ($fieldsForm as $key => $value) { |
|
$smarty->assign($key, $value); |
|
} |
|
|
|
GetTemplate($smarty, $templateName); |
|
|
|
function GetDacWorkflow($dbcon, $nomeCombo, $wkf_email_id, $inc = false) { |
|
|
|
$dacs = "<select name=\"$nomeCombo" . "[]" . "\" style=\"width:280px\" id=\"$nomeCombo\" size=\"8\" multiple=\"multiple\">"; |
|
|
|
$query = "select id, nome from pbx_dacs a"; |
|
/* |
|
* A variavel $inc apenas diz que vamos recuperar apenas os dacs incluidos para o email selecionado |
|
*/ |
|
if ($inc) { |
|
$query .= " where 1=1 and "; |
|
} else { |
|
$query .= " where 1=1 and not "; |
|
} |
|
|
|
$query .= " exists(select '' from pbx_workflow_emails_dacs where nome_dac = a.nome and wkf_email_id = '$wkf_email_id' )"; |
|
|
|
$query .= " and a.status = 'A' order by 2 \n"; |
|
|
|
$result = pg_query($dbcon, $query); |
|
$sel = ""; |
|
while ($dados = pg_fetch_row($result)) { |
|
//if($codSel == $dados[0]){$sel = "selected"; $i = 1;} else {$sel = "";} |
|
$dacs .= "<option value=\"$dados[1]\" $sel>$dados[1]</option>"; |
|
} |
|
$dacs .= "</select>"; |
|
return $dacs; |
|
} |
|
|
|
?>
|
|
|