From ffcbefd29c7ef0018ace808587d4a49b0910b8b5 Mon Sep 17 00:00:00 2001 From: Matheo Bonucia Date: Mon, 5 Aug 2024 15:12:49 +0000 Subject: [PATCH] =?UTF-8?q?Implementa=C3=A7=C3=A3o=20da=20nova=20op=C3=A7?= =?UTF-8?q?=C3=A3o=20de=20supervisor=20ou=20agente=20no=20cadastro=20de=20?= =?UTF-8?q?usu=C3=A1rio,=20corre=C3=A7=C3=B5es=20na=20tela=20de=20audio=20?= =?UTF-8?q?e=20corre=C3=A7=C3=A3o=20no=20cadastro=20de=20usu=C3=A1rios=20p?= =?UTF-8?q?ara=20a=20vers=C3=A3o=201.9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- audio.php | 4 +++- contacteFunc.php | 2 +- include/util/funcoesApl.php | 3 ++- seguranca/usuarioCad.php | 37 ++++++++++++++++----------------- templates/seguranca/usuario.tpl | 16 ++++++++------ 5 files changed, 34 insertions(+), 28 deletions(-) diff --git a/audio.php b/audio.php index 3c242e54..6f0f41de 100644 --- a/audio.php +++ b/audio.php @@ -267,6 +267,8 @@ $y = 1; } $dacs .= ") "; + } elseif(IsAdmin()) { + $dac = ""; } else { $dac = "AND c.id = $dac "; } @@ -319,7 +321,7 @@ LEFT JOIN pbx_classifica_reg f ON f.id_bilhetes = a.uniqueid and f.org_id = a.org_id LEFT JOIN pbx_classifica_item g ON g.clas_id = f.clas_id and g.clit_id = f.clit_id and g.org_id = f.org_id LEFT JOIN pbx_classifica_atendimento h ON h.clas_id = f.clas_id and h.org_id = f.org_id - WHERE a.org_id = {$org_id} AND a.billsec > 3 \n + WHERE a.org_id = {$org_id} AND a.billsec > 3 AND exists(SELECT '' FROM pbx_fila_audios x, pbx_grupo_usuario y WHERE x.org_id = {$org_id} AND y.gp_id = x.gp_id AND y.user_id = '{$idUser}' and x.id = c.id)\n"; if ($isProto) { $query .= "AND (e.protocolo = $proto or e.protoparceiro = $proto) "; diff --git a/contacteFunc.php b/contacteFunc.php index 02dd96a5..58c68ba7 100644 --- a/contacteFunc.php +++ b/contacteFunc.php @@ -2362,7 +2362,7 @@ function IncluiAgenteFile($dbcon) { $org_id = $_SESSION['SSEmpresaPadrao']; - $query = "select matricula, apelido from pbx_usuarios pu inner join pbx_organizacao_usuarios pou ON pou.id_usuarios = pu.id and pou.id_organizacao = $org_id where delete_ = 0"; + $query = "select matricula, apelido from pbx_usuarios pu inner join pbx_organizacao_usuarios pou ON pou.id_usuario = pu.id and pou.id_organizacao = $org_id where delete_ = 0"; $result = pg_query($dbcon, $query); if (!$result) { diff --git a/include/util/funcoesApl.php b/include/util/funcoesApl.php index d956ec94..1577bbe2 100755 --- a/include/util/funcoesApl.php +++ b/include/util/funcoesApl.php @@ -598,7 +598,8 @@ function IsAdmin() { from pbx_usuarios p_u where matricula = '$matricula' - and id = (select id_usuario from pbx_organizacao_usuarios pou WHERE pou.id_usuario = p_u.id AND pou.id_organizacao = 1)"; + and p_u.id = (select id_usuario from pbx_organizacao_usuarios pou WHERE pou.id_usuario = p_u.id AND pou.id_organizacao = 1) + and user_system = 1"; $isadmin = pg_query($GLOBALS["dbcon"], $query); /* Não foi possível obter se o usuário é admin diff --git a/seguranca/usuarioCad.php b/seguranca/usuarioCad.php index 8b09a7c9..8753974d 100644 --- a/seguranca/usuarioCad.php +++ b/seguranca/usuarioCad.php @@ -68,16 +68,19 @@ if (isset($_GET["idUser"]) && $_GET["idUser"] == 0) { $acaoUser = $_POST["btGravar"]; $penalidade = $_POST["penalidade"] ? soNumero($_POST["penalidade"]) : "0"; $dacPadraoSel = $_POST["listaDacs"] ? $_POST["listaDacs"] : "0"; - //$empPadrao = $_POST["empPadrao"] ? $_POST["empPadrao"] : 'null'; $dacPadrao = GetDacs($dbcon, $dacPadraoSel, "", 0, 1); $userExpiraSenha = $_POST["userExpiraSenha"] ? $_POST["userExpiraSenha"] : 0; + $userAgente = (isset($_POST["tipoUsuario"]) && $_POST["tipoUsuario"] == 'agente') ? 'TRUE' : 'FALSE'; + $userSuper = (isset($_POST["tipoUsuario"]) && $_POST["tipoUsuario"] == 'supervisor') ? 'TRUE' : 'FALSE'; if (empty($msg) && ($_POST["btGravar"] == 'Incluir')) { $result = pg_query($dbcon, "begin"); if ($result) { $userMatricula = GetMatriculaAgente($dbcon); - $query = "INSERT INTO pbx_usuarios(nome, apelido, matricula, flag, \"admin\", senha, supervisor, agente, email, status, penalidade, dac_padrao, check_vl, senha_dias_expira, org_padrao) - VALUES(%s, lower(%s), %s, %s, %s, md5(%s), %s, %s, %s, %s, %s, %s, md5(lower(%s)), %s, %s) RETURNING id;"; + $query = "INSERT INTO pbx_usuarios( + nome, apelido, matricula, flag, \"admin\", senha, supervisor, agente, email, status, penalidade, dac_padrao, check_vl, senha_dias_expira + ) VALUES ( + %s, lower(%s), %s, %s, %s, md5(%s), %s, %s, %s, %s, %s, %s, md5(lower(%s)), %s) RETURNING id;"; $query = sprintf( $query, @@ -85,17 +88,16 @@ if (isset($_GET["idUser"]) && $_GET["idUser"] == 0) { QuotedStr($userLogin), QuotedStr($userMatricula), 1, - $userAdm == "checked" ? 'true' : 'false', + $userAdm == "checked" ? 'TRUE' : 'FALSE', QuotedStr($userPassword), - $userSuper == "checked" ? 'true' : 'false', - $userAgente == "checked" ? 'true' : 'false', + $userSuper, + $userAgente, QuotedStr($userEmail), - $userStatus == "checked" ? 'true' : 'false', + $userStatus == "checked" ? 'TRUE' : 'FALSE', $penalidade, QuotedStr($dacPadraoSel), QuotedStr($userEmail), $userExpiraSenha, - GetOrganizacao() ); $result = pg_query($dbcon, $query); @@ -105,12 +107,9 @@ if (isset($_GET["idUser"]) && $_GET["idUser"] == 0) { $ret = IncluiAgenteFile($dbcon); $result = strtoupper($ret) == "OK"; } - $query = sprintf("INSERT INTO pbx_organizacao_usuarios (id_usuario, id_organizacao, updated_at) VALUES (%s,%s,'%s')", $user['id'], $org_id, date('Y-m-d H:i:s')); $result1 = $result && pg_query($dbcon, $query); - echo pg_last_error() . "
"; - /* * Inclui usuario como grupo. */ @@ -118,7 +117,6 @@ if (isset($_GET["idUser"]) && $_GET["idUser"] == 0) { SELECT apelido, 1, id, id, $org_id FROM pbx_usuarios WHERE apelido = %s", QuotedStr($userLogin)); $result2 = $result && pg_query($dbcon, $query); - echo pg_last_error() . "
"; /* * Insere o usuario no mesmo grupo criado com seu login. */ @@ -126,7 +124,6 @@ if (isset($_GET["idUser"]) && $_GET["idUser"] == 0) { SELECT user_id, gp_id, $org_id FROM pbx_grupo WHERE gp_nome = %s", QuotedStr($userLogin)); $result3 = $result && pg_query($dbcon, $query); - echo pg_last_error() . "
"; /* * Se o dac for selecionado no cadastro do usuario, o mesmo sera atribuido para o proprio usuario. */ @@ -136,7 +133,6 @@ if (isset($_GET["idUser"]) && $_GET["idUser"] == 0) { $result4 = $result && pg_query($dbcon, $query); } - echo pg_last_error() . "
"; /* * Finaliza a transacao. */ @@ -168,18 +164,21 @@ if (isset($_GET["idUser"]) && $_GET["idUser"] == 0) { $userMatricula = $_POST["userMatriculaH"]; $userExpiraSenha = $_POST["userExpiraSenha"]; $updSenha = DEFAULT_MASC_PASSWORD !== $userPassword; + $userAgente = (isset($_POST["tipoUsuario"]) && $_POST["tipoUsuario"] == 'agente') ? 'TRUE' : 'FALSE'; + $userSuper = (isset($_POST["tipoUsuario"]) && $_POST["tipoUsuario"] == 'supervisor') ? 'TRUE' : 'FALSE'; $result = pg_query($dbcon, "begin"); $query = "UPDATE pbx_usuarios - SET nome = %s, - %s + SET nome = %s, + %s email = %s, status = %s, penalidade = %s, dac_padrao = %s, senha_dias_expira = %s, - org_padrao = %s - WHERE id = %s "; + supervisor = %s, + agente = %s + WHERE id = %s; "; if ($updSenha) { $updSenha = sprintf(" senha = md5(%s), ", QuotedStr($userPassword)); @@ -189,7 +188,7 @@ if (isset($_GET["idUser"]) && $_GET["idUser"] == 0) { $updSenha = ''; } - $query = sprintf($query, QuotedStr($userNome), $updSenha, QuotedStr($userEmail), $userStatus == "checked" ? 'true' : 'false', $penalidade, $dacPadraoSel, $userExpiraSenha, $empPadrao, $idUser); + $query = sprintf($query, QuotedStr($userNome), $updSenha, QuotedStr($userEmail), $userStatus == "checked" ? 'true' : 'false', $penalidade, $dacPadraoSel, $userExpiraSenha, $userSuper,$userAgente,$idUser); $result = pg_query($dbcon, $query); /* diff --git a/templates/seguranca/usuario.tpl b/templates/seguranca/usuario.tpl index b6342ca0..0c1e4369 100644 --- a/templates/seguranca/usuario.tpl +++ b/templates/seguranca/usuario.tpl @@ -36,12 +36,6 @@ Dac Padrão {$dacPadrao} - {if $empPadrao} - - Empresa Padrão - {$empPadrao} - - {/if} Status @@ -54,6 +48,16 @@ + + Tipo de usuário + + + + + + + + Penalidade