Add holiday CRUD operations
This commit is contained in:
parent
095b639794
commit
be7b5d2718
|
@ -53,9 +53,9 @@ CREATE TABLE IF NOT EXISTS festivo (
|
|||
id INT PRIMARY KEY AUTO_INCREMENT,
|
||||
fecha_festivo DATE NOT NULL,
|
||||
tipo_festivo VARCHAR(15) NOT NULL,
|
||||
medico VARCHAR(50),
|
||||
medico INT DEFAULT NULL,
|
||||
FOREIGN KEY (medico)
|
||||
REFERENCES usuario(usuario)
|
||||
REFERENCES usuario(id)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS calendario (
|
||||
|
@ -68,10 +68,10 @@ CREATE TABLE IF NOT EXISTS calendario (
|
|||
sabado_habil BOOLEAN,
|
||||
domingo_habil BOOLEAN,
|
||||
duracion_cita_por_defecto INT,
|
||||
medico VARCHAR(50),
|
||||
medico INT,
|
||||
PRIMARY KEY (id, medico),
|
||||
FOREIGN KEY (medico)
|
||||
REFERENCES usuario(usuario)
|
||||
REFERENCES usuario(id)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS cita(
|
||||
|
@ -79,12 +79,12 @@ CREATE TABLE IF NOT EXISTS cita(
|
|||
fecha DATE NOT NULL,
|
||||
hora TIME NOT NULL,
|
||||
duracion INT,
|
||||
medico VARCHAR(50) NOT NULL,
|
||||
medico INT NOT NULL,
|
||||
observaciones VARCHAR(255),
|
||||
paciente INT NOT NULL,
|
||||
PRIMARY KEY (id, medico),
|
||||
FOREIGN KEY (medico)
|
||||
REFERENCES usuario(usuario),
|
||||
REFERENCES usuario(id),
|
||||
FOREIGN KEY (paciente)
|
||||
REFERENCES paciente(id)
|
||||
);
|
||||
|
@ -96,10 +96,10 @@ CREATE TABLE IF NOT EXISTS informe(
|
|||
paciente INT NOT NULL,
|
||||
titulo VARCHAR(100) NOT NULL,
|
||||
contenido VARCHAR(255) NOT NULL,
|
||||
medico VARCHAR(50) NOT NULL,
|
||||
medico INT NOT NULL,
|
||||
PRIMARY KEY (id, paciente),
|
||||
FOREIGN KEY (medico)
|
||||
REFERENCES usuario(usuario),
|
||||
REFERENCES usuario(id),
|
||||
FOREIGN KEY (paciente)
|
||||
REFERENCES paciente(id)
|
||||
);
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
<!doctype html>
|
||||
<html class="no-js" lang="es">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
||||
<title>Gestión de calendario</title>
|
||||
<meta name="description" content="">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../static/style.css" type="text/css" media="screen" />
|
||||
</head>
|
||||
<body>
|
||||
<div style="text-align: right; margin-top: 20px;">
|
||||
<a href="forms/holiday_create_form.php" class="create_btn" >Crear</a>
|
||||
</div>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Fecha</th>
|
||||
<th>Tipo</th>
|
||||
<th>Medico</th>
|
||||
<th colspan="2">Acciones</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<?php
|
||||
include 'database.php';
|
||||
|
||||
$pdo = connectDatabase();
|
||||
|
||||
$list = listHolidays($pdo);
|
||||
|
||||
foreach($list as $row) :
|
||||
?>
|
||||
<tr>
|
||||
<td><?php echo $row[1]; ?></td>
|
||||
<td><?php echo $row[2]; ?></td>
|
||||
<td><?php echo $row[3]; ?></td>
|
||||
<td>
|
||||
<a href="forms/holiday_edit_form.php?edit=<?php echo $row[0]; ?>" class="edit_btn">Editar</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="holiday_management.php?delete=<?php echo $row[0]; ?>" class="del_btn">Borrar</a>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
<?php closeDatabase($pdo); ?>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
|
@ -53,19 +53,24 @@ function deletePatient($pdo, string $id) {
|
|||
}
|
||||
|
||||
function createHoliday($pdo, $data) {
|
||||
if(empty($data["medico"])){
|
||||
$query = "INSERT INTO festivo (fecha_festivo, tipo_festivo, medico) VALUES (?,?,?)";
|
||||
$pdo->prepare($query)->execute([$data["fecha_festivo"], $data["tipo_festivo"], $data["medico"]]);
|
||||
} else {
|
||||
$query = "INSERT INTO festivo (fecha_festivo, tipo_festivo) VALUES (?,?)";
|
||||
$pdo->prepare($query)->execute([$data["fecha_festivo"], $data["tipo_festivo"]]);
|
||||
}
|
||||
return "Festivo creado con éxito";
|
||||
}
|
||||
|
||||
function editHoliday($pdo, $attr, $param, $id) {
|
||||
$query = "UPDATE festivo SET ? = ? WHERE id = ?";
|
||||
$pdo->prepare($query)->execute([$attr, $param, $id]);
|
||||
function editHoliday($pdo, $data, $id) {
|
||||
$query = "UPDATE festivo SET fecha_festivo=?, tipo_festivo=?, medico=? WHERE id=?";
|
||||
$pdo->prepare($query)->execute([$data["fecha_festivo"], $data["tipo_festivo"], $data["medico"], $id]);
|
||||
return "Festivo modificado con éxito";
|
||||
}
|
||||
|
||||
function deleteHoliday($pdo, str $id) {
|
||||
$statement = "DELETE FROM festivo where id = ?";
|
||||
function deleteHoliday($pdo, $id) {
|
||||
$statement = "DELETE FROM festivo where id=?";
|
||||
$pdo->prepare($statement)->execute([$id]);
|
||||
return "Festivo borrado con éxito";
|
||||
}
|
||||
|
@ -121,8 +126,10 @@ function findUser($pdo, $input) {
|
|||
|
||||
function listPatients($pdo) {
|
||||
$query = "SELECT paciente.id, paciente.nombre, paciente.apellido, paciente.fecha_de_nacimiento, paciente.documento_identificativo,
|
||||
paciente.tipo_documento, paciente.direccion, paciente.localidad, paciente.provincia, paciente.pais, cita.id, informe.titulo
|
||||
FROM paciente LEFT JOIN cita ON paciente.id=cita.paciente LEFT JOIN informe ON paciente.id=informe.paciente
|
||||
paciente.tipo_documento, paciente.direccion, municipios.nombre, provincias.provincia, paciente.pais, cita.id, informe.titulo
|
||||
FROM paciente INNER JOIN municipios ON paciente.localidad = municipios.id_municipio
|
||||
INNER JOIN provincias ON paciente.provincia = provincias.id_provincia
|
||||
LEFT JOIN cita ON paciente.id=cita.paciente LEFT JOIN informe ON paciente.id=informe.paciente
|
||||
GROUP BY paciente.id, cita.id, informe.titulo";
|
||||
$result = $pdo->prepare($query);
|
||||
$result->execute();
|
||||
|
@ -164,4 +171,28 @@ function fetchRegions($pdo){
|
|||
return $data;
|
||||
}
|
||||
|
||||
function listHolidays($pdo){
|
||||
$query = "SELECT * FROM festivo";
|
||||
$result = $pdo->prepare($query);
|
||||
$result->execute();
|
||||
$data = $result->fetchAll();
|
||||
return $data;
|
||||
}
|
||||
|
||||
function listDoctors($pdo){
|
||||
$query = "SELECT * FROM usuario where rol=2";
|
||||
$result = $pdo->prepare($query);
|
||||
$result->execute();
|
||||
$data = $result->fetchAll();
|
||||
return $data;
|
||||
}
|
||||
|
||||
function fetchHolidayData($pdo, string $id) {
|
||||
$query = "SELECT * FROM festivo WHERE id=?";
|
||||
$result = $pdo->prepare($query);
|
||||
$result->execute([$id]);
|
||||
$data = $result->fetch();
|
||||
return $data;
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
||||
<title>Gestión de usuarios</title>
|
||||
<meta name="description" content="">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../static/style.css" type="text/css" media="screen" />
|
||||
<script src="../validate_date.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
include '../database.php';
|
||||
|
||||
$pdo = connectDatabase();
|
||||
$doctors = listDoctors($pdo);
|
||||
?>
|
||||
<form name="create_form" method="post" action="../holiday_management.php">
|
||||
<div class="input-group">
|
||||
<label>Fecha</label>
|
||||
<input type="date" name="fecha_festivo" value="">
|
||||
</div>
|
||||
<div class="select-input">
|
||||
<label>Tipo</label>
|
||||
<select id="tipo_festivo" name="tipo_festivo">
|
||||
<option value="mañana">mañana</option>
|
||||
<option value="tarde">tarde</option>
|
||||
<option value="completo">completo</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<select id="medico" name="medico">
|
||||
<option>Seleccione un médico</option>
|
||||
<?php foreach($doctors as $row) : ?>
|
||||
<option value="<?php echo $row[0]; ?>"><?php echo $row[1]; ?></option>
|
||||
<?php endforeach ?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<button class="btn" type="submit" name="create" >Guardar</button>
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
|
@ -0,0 +1,43 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
||||
<title>Gestión de usuarios</title>
|
||||
<meta name="description" content="">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../../static/style.css" type="text/css" media="screen" />
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
include '../database.php';
|
||||
|
||||
$pdo = connectDatabase();
|
||||
$data = fetchHolidayData($pdo, $_GET["edit"]);
|
||||
?>
|
||||
<form method="post" action="../user_management.php">
|
||||
<div class="input-group">
|
||||
<label>Fecha</label>
|
||||
<input type="date" name="fecha_festivo" value="<?php echo $data[1]; ?>">
|
||||
</div>
|
||||
<div class="select-input">
|
||||
<label>Tipo</label>
|
||||
<select id="tipo_festivo" name="tipo_festivo">
|
||||
<option value="mañana">mañana</option>
|
||||
<option value="tarde">tarde</option>
|
||||
<option value="completo">completo</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<select id="medico" name="medico">
|
||||
<option>Seleccione un médico</option>
|
||||
<?php foreach($doctors as $row) : ?>
|
||||
<option value="<?php echo $row[0]; ?>"><?php echo $row[1]; ?></option>
|
||||
<?php endforeach ?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<button class="btn" type="submit" name="edit" >Editar</button>
|
||||
</div>
|
||||
<input type="hidden" name="id" value="<?php echo $_GET["edit"]; ?>">
|
||||
</form>
|
||||
<?php closeDatabase($pdo); ?>
|
||||
</body>
|
|
@ -0,0 +1,40 @@
|
|||
<?php
|
||||
include'database.php';
|
||||
|
||||
function holidayCreation(){
|
||||
$data = $_POST;
|
||||
$pdo = connectDatabase();
|
||||
createHoliday($pdo, $data);
|
||||
closeDatabase($pdo);
|
||||
header('location: calendar.php');
|
||||
}
|
||||
|
||||
function holidayModification(){
|
||||
$data = $_POST;
|
||||
$id = $_POST["id"];
|
||||
$pdo = connectDatabase();
|
||||
editHoliday($pdo, $data, $id);
|
||||
closeDatabase($pdo);
|
||||
header('location: calendar.php');
|
||||
}
|
||||
|
||||
function holidayDeletion(){
|
||||
$id = $_GET["delete"];
|
||||
$pdo = connectDatabase();
|
||||
deleteHoliday($pdo, $id);
|
||||
closeDatabase($pdo);
|
||||
header('location: calendar.php');
|
||||
}
|
||||
|
||||
if (isset($_POST["create"])) {
|
||||
holidayCreation();
|
||||
}
|
||||
|
||||
|
||||
if (isset($_POST["edit"])) {
|
||||
holidayModification();
|
||||
}
|
||||
|
||||
if (isset($_GET["delete"])) {
|
||||
holidayDeletion();
|
||||
}
|
Loading…
Reference in New Issue