Add holiday CRUD operations

This commit is contained in:
2020-06-18 09:04:44 +02:00
parent 095b639794
commit be7b5d2718
6 changed files with 221 additions and 17 deletions

48
src/calendar.php Normal file
View File

@@ -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>

View File

@@ -53,19 +53,24 @@ function deletePatient($pdo, string $id) {
}
function createHoliday($pdo, $data) {
$query = "INSERT INTO festivo (fecha_festivo, tipo_festivo, medico) VALUES (?,?,?)";
$pdo->prepare($query)->execute([$data["fecha_festivo"], $data["tipo_festivo"], $data["medico"]]);
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;
}
?>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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();
}