@ -39,6 +39,9 @@ if (isset($_GET["idUser"]) && $_GET["idUser"] == 0) {
$penalidade = $dados["penalidade"];
$dacAgente = GetIdDacPadrao($dbcon, $idUser);
$dacPadrao = GetDacs($dbcon, $dacAgente, "", 0, 1);
$userSuper = $dados["supervisor"];
$userAgente = $dados["agente"];
} else if ((isset($_POST["btGravar"]))) {
$msg = "";
if (empty($_POST["userNome"])) {
@ -113,7 +116,7 @@ if (isset($_GET["idUser"]) && $_GET["idUser"] == 0) {
* Inclui usuario como grupo.
*/
$query = sprintf("INSERT INTO pbx_grupo(gp_nome, gp_status, user_id, gp_user, org_id)
SELECT apelido, 1, id, id, $org_id FROM pbx_usuarios WHERE apelido = %s", QuotedStr($userLogin) );
SELECT apelido, 1, id, id, $org_id FROM pbx_usuarios WHERE id = %s", $user['id'] );
$result2 = $result & & pg_query($dbcon, $query);
/*
@ -132,6 +135,13 @@ if (isset($_GET["idUser"]) && $_GET["idUser"] == 0) {
$result4 = $result & & pg_query($dbcon, $query);
}
/*
* Insere o usuario no grupo (agente/supervisor) que foi escolhido.
*/
$grupo = $userSuper === 'TRUE' ? 'SUPERVISOR' : 'AGENTE';
$query = sprintf("INSERT INTO pbx_grupo_usuario(user_id, gp_id, org_id) SELECT %d, gp_id, org_id FROM pbx_grupo WHERE gp_nome = '%s' AND org_id = $org_id", $user['id'],$grupo);
$result5 = $result & & pg_query($dbcon, $query);
/*
* Finaliza a transacao.
*/
@ -198,6 +208,11 @@ if (isset($_GET["idUser"]) && $_GET["idUser"] == 0) {
$result = $result & & pg_query($dbcon, $query);
}
if($result) {
$grupo = $userSuper === 'TRUE' ? 'SUPERVISOR' : 'AGENTE';
updateGrupoUser($dbcon,$grupo,$org_id,$idUser);
}
if ($result) {
$ret = IncluiAgenteFile($dbcon);
$result = strtoupper($ret) == "OK";
@ -223,6 +238,36 @@ if (isset($_GET["idUser"]) && $_GET["idUser"] == 0) {
$jsStartup[] = $msg;
}
function updateGrupoUser($dbcon, $grupoNovo, $org_id, $idUser) {
// Determine o grupo oposto
$grupoOposto = $grupoNovo === 'AGENTE' ? 'SUPERVISOR' : 'AGENTE';
// Preparar a consulta para obter os IDs dos grupos de interesse
$query = "SELECT gp_nome, gp_id FROM pbx_grupo WHERE (gp_nome = $1 OR gp_nome = $2) AND org_id = $3;";
$result = pg_query_params($dbcon, $query, array($grupoNovo, $grupoOposto, $org_id));
$valorNovo = null;
$valorOposto = null;
// Verificar e atribuir os valores dos IDs dos grupos
while ($row = pg_fetch_assoc($result)) {
if ($row['gp_nome'] === $grupoNovo) {
$valorNovo = $row['gp_id'];
} elseif ($row['gp_nome'] === $grupoOposto) {
$valorOposto = $row['gp_id'];
}
}
// Se ambos os IDs dos grupos forem encontrados, atualize o grupo do usuário
if ($valorNovo !== null & & $valorOposto !== null) {
$query = "UPDATE pbx_grupo_usuario SET gp_id = $1 WHERE org_id = $2 AND gp_id = $3 AND user_id = $4;";
$result = pg_query_params($dbcon, $query, array($valorNovo, $org_id, $valorOposto, $idUser));
return $result !== false;
} else {
return false;
}
}
$smarty->assign("userExpiraSenha", $userExpiraSenha ? $userExpiraSenha : 0);
$smarty->assign("userNome", $limpaVar ? "" : $userNome);
$smarty->assign("userLogin", $limpaVar ? "" : $userLogin);
@ -237,6 +282,8 @@ $smarty->assign("acaoUser", $acaoUser);
$smarty->assign("idUser", $idUser);
$smarty->assign("dacPadrao", $dacPadrao);
$smarty->assign("penalidade", $penalidade ? $penalidade : "0");
$smarty->assign("userAgente", $userAgente ? true : false);
$smarty->assign("userSuper", $userSuper ? true : false);
$jsJQuery[] = "\$('#userLogin').change(function(){limpaEspaco(this);}) ";
$jsJQuery[] = "\$('#penalidade').keyup(function(){somenteNumeros(this);}) ";