Skip to content

Commit

Permalink
Merge pull request #725 from nilsonLazarin/pre-master-2409
Browse files Browse the repository at this point in the history
Atualizações semana 3ª semana de setembro de 2024
  • Loading branch information
GabrielPintoSouza authored Sep 23, 2024
2 parents 62191a6 + 4b85ecb commit 0af2c1a
Show file tree
Hide file tree
Showing 26 changed files with 643 additions and 216 deletions.
3 changes: 3 additions & 0 deletions BD/wegia001.sql
Original file line number Diff line number Diff line change
Expand Up @@ -774,6 +774,7 @@ CREATE TABLE `wegia`.`contribuicao_gatewayPagamento` (
`plataforma` VARCHAR(50) NOT NULL,
`endPoint` VARCHAR(255) NOT NULL,
`token` VARCHAR(100) NOT NULL,
`status` BOOLEAN NOT NULL,
PRIMARY KEY (`id`)
) ENGINE = InnoDB;

Expand All @@ -794,6 +795,7 @@ CREATE TABLE `wegia`.`contribuicao_meioPagamento` (
`id` INT NOT NULL AUTO_INCREMENT,
`meio` VARCHAR(45) NOT NULL,
`id_plataforma` INT NOT NULL,
`status` BOOLEAN NOT NULL,
PRIMARY KEY (`id`),
UNIQUE INDEX `meio_UNIQUE` (`meio` ASC) VISIBLE,
CONSTRAINT `fk_contribuicao_gatewayPagamento_plataforma`
Expand All @@ -811,6 +813,7 @@ CREATE TABLE `wegia`.`contribuicao_conjuntoRegras` (
`id_meioPagamento` INT,
`id_regra` INT,
`valor` DECIMAL(10, 2),
`status` BOOLEAN NOT NULL,
CONSTRAINT `fk_contribuicao_meioPagamento` FOREIGN KEY (`id_meioPagamento`) REFERENCES `wegia`.`contribuicao_meioPagamento`(`id`),
CONSTRAINT `fk_contribuicao_regras` FOREIGN KEY (`id_regra`) REFERENCES `wegia`.`contribuicao_regras`(`id`),
CONSTRAINT `unico_meioPagamento_regra` UNIQUE (`id_meioPagamento`, `id_regra`)
Expand Down
5 changes: 3 additions & 2 deletions dao/pet/adicionar_tipo_exame.php
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?php
require_once "../Conexao.php";
$pdo = Conexao::connect();
// $cargo = $_POST["nome_docfuncional"];

$tipo_exame = $_POST["tipo_exame"];

$sql = "INSERT INTO pet_tipo_exame(descricao_exame) values('" .$tipo_exame ."')";
Expand All @@ -13,4 +13,5 @@
$array[] = array('id_tipo_exame'=>$valor['id_tipo_exame'], 'tipo_exame' => $valor['descricao_exame']);
}

echo json_encode($p);
echo json_encode($p);
?>
30 changes: 20 additions & 10 deletions html/atendido/listar_ocorrencias.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,30 +29,40 @@
}

$conexao = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

$id_pessoa = $_SESSION['id_pessoa'];
$resultado = mysqli_query($conexao, "SELECT * FROM funcionario WHERE id_pessoa=$id_pessoa");
if (!is_null($resultado)) {
$id_cargo = mysqli_fetch_array($resultado);
if (!is_null($id_cargo)) {
$id_cargo = $id_cargo['id_cargo'];
}
$resultado = mysqli_query($conexao, "SELECT * FROM permissao WHERE id_cargo=$id_cargo and id_recurso=12");
if (!is_bool($resultado) and mysqli_num_rows($resultado)) {

$stmt = mysqli_prepare($conexao, "SELECT id_cargo FROM funcionario WHERE id_pessoa = ?");
mysqli_stmt_bind_param($stmt, 'i', $id_pessoa);
mysqli_stmt_execute($stmt);
$resultado = mysqli_stmt_get_result($stmt);

if ($resultado && mysqli_num_rows($resultado) > 0) {
$row = mysqli_fetch_array($resultado);
$id_cargo = $row['id_cargo'];

$stmt = mysqli_prepare($conexao, "SELECT id_acao FROM permissao WHERE id_cargo = ? AND id_recurso = 12");
mysqli_stmt_bind_param($stmt, 'i', $id_cargo);
mysqli_stmt_execute($stmt);
$resultado = mysqli_stmt_get_result($stmt);

if ($resultado && mysqli_num_rows($resultado) > 0) {
$permissao = mysqli_fetch_array($resultado);
if ($permissao['id_acao'] < 7) {
$msg = "Você não tem as permissões necessárias para essa página.";
header("Location: ../../home.php?msg_c=$msg");
exit;
}
$permissao = $permissao['id_acao'];
} else {
$permissao = 1;
$msg = "Você não tem as permissões necessárias para essa página.";
header("Location: ../../home.php?msg_c=$msg");
exit;
}
} else {
$permissao = 1;
$msg = "Você não tem as permissões necessárias para essa página.";
header("Location: ./home.php?msg_c=$msg");
exit;
}


Expand Down
48 changes: 30 additions & 18 deletions html/atendido/pre_cadastro_atendido.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,29 +30,41 @@

$conexao = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$id_pessoa = $_SESSION['id_pessoa'];
$resultado = mysqli_query($conexao, "SELECT * FROM funcionario WHERE id_pessoa=$id_pessoa");
if (!is_null($resultado)) {
$id_cargo = mysqli_fetch_array($resultado);
if (!is_null($id_cargo)) {
$id_cargo = $id_cargo['id_cargo'];
}
$resultado = mysqli_query($conexao, "SELECT * FROM permissao WHERE id_cargo=$id_cargo and id_recurso=12");
if (!is_bool($resultado) and mysqli_num_rows($resultado)) {
$permissao = mysqli_fetch_array($resultado);
if ($permissao['id_acao'] < 7) {
$msg = "Você não tem as permissões necessárias para essa página.";
header("Location: " . WWW . "html/home.php?msg_c=$msg");

if ($stmt = mysqli_prepare($conexao, "SELECT * FROM funcionario WHERE id_pessoa = ?")) {
mysqli_stmt_bind_param($stmt, "i", $id_pessoa);
mysqli_stmt_execute($stmt);
$resultado = mysqli_stmt_get_result($stmt);

if ($resultado && mysqli_num_rows($resultado) > 0) {
$id_cargo = mysqli_fetch_array($resultado);

if ($stmt2 = mysqli_prepare($conexao, "SELECT * FROM permissao WHERE id_cargo = ? AND id_recurso = 12")) {
$id_cargo_valor = $id_cargo['id_cargo'];
mysqli_stmt_bind_param($stmt2, "i", $id_cargo_valor);
mysqli_stmt_execute($stmt2);
$resultado_permissao = mysqli_stmt_get_result($stmt2);

if ($resultado_permissao && mysqli_num_rows($resultado_permissao) > 0) {
$permissao = mysqli_fetch_array($resultado_permissao);

if ($permissao['id_acao'] < 7) {
$msg = "Você não tem as permissões necessárias para essa página.";
header("Location: " . WWW . "html/home.php?msg_c=$msg");
exit();
}
$permissao = $permissao['id_acao'];
} else {
$msg = "Você não tem as permissões necessárias para essa página.";
header("Location: " . WWW . "html/home.php?msg_c=$msg");
exit();
}
}
$permissao = $permissao['id_acao'];
} else {
$permissao = 1;
$msg = "Você não tem as permissões necessárias para essa página.";
header("Location: " . WWW . "html/home.php?msg_c=$msg");
exit();
}
} else {
$permissao = 1;
$msg = "Você não tem as permissões necessárias para essa página.";
header("Location: " . WWW . "html/home.php?msg_c=$msg");
}
require_once ROOT . "/controle/FuncionarioControle.php";
require_once ROOT . "/controle/memorando/MemorandoControle.php";
Expand Down
59 changes: 47 additions & 12 deletions html/atendido/profile_familiar.php
Original file line number Diff line number Diff line change
Expand Up @@ -53,18 +53,53 @@ function urlGetParams()

require_once "../geral/msg.php";

$dependente = $pdo->query("SELECT *, ap.parentesco AS parentesco
FROM atendido_familiares af
LEFT JOIN pessoa p ON p.id_pessoa = af.pessoa_id_pessoa
LEFT JOIN atendido_parentesco ap ON ap.idatendido_parentesco = af.atendido_parentesco_idatendido_parentesco
WHERE af.idatendido_familiares = " . $_GET['id_dependente'] ?? null);
$dependente = $dependente->fetch(PDO::FETCH_ASSOC);
$dependente["nome_atendido"] = ($pdo->query("SELECT p.nome FROM atendido a LEFT JOIN pessoa p ON a.pessoa_id_pessoa = p.id_pessoa WHERE a.idatendido = " . $dependente["atendido_idatendido"] . ";")->fetch(PDO::FETCH_ASSOC))["nome"];
$dependente["sobrenome_atendido"] = ($pdo->query("SELECT p.sobrenome FROM atendido a LEFT JOIN pessoa p ON a.pessoa_id_pessoa = p.id_pessoa WHERE a.idatendido = " . $dependente["atendido_idatendido"] . ";")->fetch(PDO::FETCH_ASSOC))["sobrenome"];

$id_pessoa = $dependente["id_pessoa"];
$idatendido_familiares = $dependente["idatendido_familiares"];
$JSON_dependente = json_encode($dependente);
$id_dependente = isset($_GET['id_dependente']) ? (int) $_GET['id_dependente'] : null;

if ($id_dependente) {
$stmt = $pdo->prepare("
SELECT *, ap.parentesco AS parentesco
FROM atendido_familiares af
LEFT JOIN pessoa p ON p.id_pessoa = af.pessoa_id_pessoa
LEFT JOIN atendido_parentesco ap ON ap.idatendido_parentesco = af.atendido_parentesco_idatendido_parentesco
WHERE af.idatendido_familiares = :id_dependente
");

$stmt->bindParam(':id_dependente', $id_dependente, PDO::PARAM_INT);
$stmt->execute();

$dependente = $stmt->fetch(PDO::FETCH_ASSOC);

if ($dependente) {
$stmtNome = $pdo->prepare("
SELECT p.nome FROM atendido a
LEFT JOIN pessoa p ON a.pessoa_id_pessoa = p.id_pessoa
WHERE a.idatendido = :idatendido
");
$stmtNome->bindParam(':idatendido', $dependente["atendido_idatendido"], PDO::PARAM_INT);
$stmtNome->execute();
$nomeAtendido = $stmtNome->fetch(PDO::FETCH_ASSOC);
$dependente["nome_atendido"] = $nomeAtendido ? $nomeAtendido["nome"] : null;

$stmtSobrenome = $pdo->prepare("
SELECT p.sobrenome FROM atendido a
LEFT JOIN pessoa p ON a.pessoa_id_pessoa = p.id_pessoa
WHERE a.idatendido = :idatendido
");
$stmtSobrenome->bindParam(':idatendido', $dependente["atendido_idatendido"], PDO::PARAM_INT);
$stmtSobrenome->execute();
$sobrenomeAtendido = $stmtSobrenome->fetch(PDO::FETCH_ASSOC);
$dependente["sobrenome_atendido"] = $sobrenomeAtendido ? $sobrenomeAtendido["sobrenome"] : null;

$id_pessoa = $dependente["id_pessoa"];
$idatendido_familiares = $dependente["idatendido_familiares"];
$JSON_dependente = json_encode($dependente);
} else {
echo "Dependente não encontrado.";
}
} else {
echo "ID do dependente inválido ou não fornecido.";
}


?>
<!doctype html>
Expand Down
76 changes: 46 additions & 30 deletions html/cadastro_saida.php
Original file line number Diff line number Diff line change
@@ -1,47 +1,63 @@
<?php
session_start();
if (!isset($_SESSION['usuario'])) {
header("Location: ../index.php");
header("Location: ../index.php");
exit();
}

$config_path = "config.php";
if (file_exists($config_path)) {
require_once($config_path);
require_once($config_path);
} else {
while (true) {
$config_path = "../" . $config_path;
if (file_exists($config_path)) break;
}
require_once($config_path);
while (true) {
$config_path = "../" . $config_path;
if (file_exists($config_path)) break;
}
require_once($config_path);
}

$conexao = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$id_pessoa = $_SESSION['id_pessoa'];
$resultado = mysqli_query($conexao, "SELECT * FROM funcionario WHERE id_pessoa=$id_pessoa");
if (!is_null($resultado)) {
$id_cargo = mysqli_fetch_array($resultado);
if (!is_null($id_cargo)) {
$id_cargo = $id_cargo['id_cargo'];
}
$resultado = mysqli_query($conexao, "SELECT * FROM permissao WHERE id_cargo=$id_cargo and id_recurso=24");
if (!is_bool($resultado) and mysqli_num_rows($resultado)) {
$permissao = mysqli_fetch_array($resultado);
if ($permissao['id_acao'] < 3) {
$msg = "Você não tem as permissões necessárias para essa página.";
header("Location: ./home.php?msg_c=$msg");
}
$permissao = $permissao['id_acao'];
} else {
$permissao = 1;
$msg = "Você não tem as permissões necessárias para essa página.";
header("Location: ./home.php?msg_c=$msg");
}

// Proteção contra injeção de SQL utilizando prepared statements
$stmt = $conexao->prepare("SELECT id_cargo FROM funcionario WHERE id_pessoa = ?");
$stmt->bind_param("i", $id_pessoa);
$stmt->execute();
$resultado = $stmt->get_result();

if ($resultado && $resultado->num_rows > 0) {
$row = $resultado->fetch_assoc();
$id_cargo = $row['id_cargo'];

// Segunda consulta usando prepared statements
$stmt = $conexao->prepare("SELECT id_acao FROM permissao WHERE id_cargo = ? AND id_recurso = 24");
$stmt->bind_param("i", $id_cargo);
$stmt->execute();
$resultado = $stmt->get_result();

if ($resultado && $resultado->num_rows > 0) {
$permissao = $resultado->fetch_assoc();
if ($permissao['id_acao'] < 3) {
$msg = urlencode("Você não tem as permissões necessárias para essa página.");
header("Location: ./home.php?msg_c=$msg");
exit();
}
$permissao = $permissao['id_acao'];
} else {
$permissao = 1;
$msg = urlencode("Você não tem as permissões necessárias para essa página.");
header("Location: ./home.php?msg_c=$msg");
exit();
}
} else {
$permissao = 1;
$msg = "Você não tem as permissões necessárias para essa página.";
header("Location: ./home.php?msg_c=$msg");
$permissao = 1;
$msg = urlencode("Você não tem as permissões necessárias para essa página.");
header("Location: ./home.php?msg_c=$msg");
exit();
}

// Adiciona a Função display_campo($nome_campo, $tipo_campo)
require_once "personalizacao_display.php";

require_once "../Functions/permissao/permissao.php";
?>

Expand Down
49 changes: 47 additions & 2 deletions html/contribuicao/configuracao/assets/js/configuracoesGerais.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,53 @@
$(function() {//Carrega cabeçalho e menu lateral
$(function () {//Carrega cabeçalho e menu lateral
$("#header").load("../../header.php");
$(".menuu").load("../../menu.php");
});

function confirmarExclusao() {//Trava de segurança para evitar exclusão de itens indesejados
/**
* Trava de segurança para evitar exclusão de itens indesejados
* @returns
*/
function confirmarExclusao() {
return confirm("Tem certeza que deseja excluir este item?");
}

/**Extraí os dados necessários da view e envia um fetch de POST para a URL informada */
function alterarStatus(ev, URL, controller) {
const toggleId = ev.target.id; // ID do toggle clicado
const isChecked = ev.target.checked; // Verifica se está marcado ou não

// Usando expressão regular para extrair o número
const idNumber = toggleId.match(/\d+/)[0]; // Extrai o número após 'toggle'
// Montar os dados para enviar no POST

data = new URLSearchParams();
data.append('id', idNumber);
data.append('status', isChecked);
data.append('nomeClasse', controller);
data.append('metodo', 'alterarStatus');

// Enviar dados via fetch (POST)
fetch(URL, {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
body: data.toString() // Converte o objeto em uma string URL-encoded
})
.then(response => {
if (response.ok) {
return response.json(); // Se necessário, processa a resposta
} else {
return response.json().then(errData => {
// Lança o erro com a mensagem extraída do backend
throw new Error(errData.Erro || 'Erro desconhecido no servidor');
});
}
})
.then(result => {
console.log('Resultado:', result); // Processa a resposta do servidor, se houver
})
.catch(error => {
alert(error);
});
}
14 changes: 12 additions & 2 deletions html/contribuicao/configuracao/assets/js/gatewayPagamento.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
document.addEventListener('DOMContentLoaded', function() {
document.addEventListener('DOMContentLoaded', function () {
// Seletor para todos os botões de editar
const editButtons = document.querySelectorAll('button[title="Editar"]');

editButtons.forEach(button => {
button.addEventListener('click', function() {
button.addEventListener('click', function () {
const id = this.getAttribute('data-id');
const nome = this.closest('tr').querySelector('td:nth-child(1)').textContent;
const endpoint = this.closest('tr').querySelector('td:nth-child(2)').textContent;
Expand All @@ -19,4 +19,14 @@ document.addEventListener('DOMContentLoaded', function() {
$('#editModal').modal('show');
});
});

//Checkbox de ativar/desativar um gateway de pagamento
const toggles = document.querySelectorAll('.toggle-input');

toggles.forEach(toggle => {
toggle.addEventListener('change', function (ev) {
alterarStatus(ev, './src/controller/control.php', 'GatewayPagamentoController');
});
});

});
Loading

0 comments on commit 0af2c1a

Please sign in to comment.