Merge branch 'main' of github.com:nonot345/SAE_203_Gestion_des_sauveteurs
This commit is contained in:
commit
6afb45f006
7 changed files with 146 additions and 91 deletions
|
|
@ -1,8 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
|
||||||
* Switch to the appropriate controller according to HTTP method
|
|
||||||
*/
|
|
||||||
function contact_ctrl() {
|
function contact_ctrl() {
|
||||||
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
||||||
contact_write_ctrl();
|
contact_write_ctrl();
|
||||||
|
|
@ -11,42 +8,35 @@ function contact_ctrl() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Form display
|
|
||||||
*/
|
|
||||||
function contact_form_ctrl() {
|
function contact_form_ctrl() {
|
||||||
// Print form
|
require('views/contact_views.php');
|
||||||
require('views/contact_form_view.php');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Form processing
|
|
||||||
*/
|
|
||||||
function contact_write_ctrl() {
|
function contact_write_ctrl() {
|
||||||
// On récupère les données du formulaire
|
$nom = $_POST['nom'];
|
||||||
$nom = $_POST['nom'];
|
|
||||||
$prenom = $_POST['prenom'];
|
$prenom = $_POST['prenom'];
|
||||||
$dep = $_POST['dep'];
|
$dep = $_POST['dep'];
|
||||||
$spe = $_POST['spe'];
|
$spe = $_POST['spe'];
|
||||||
$tel = $_POST['tel'];
|
$tel = $_POST['tel'];
|
||||||
$date = $_POST['ladate_lheure'];
|
$date = $_POST['ladate'];
|
||||||
|
$heure = $_POST['lheure'];
|
||||||
|
|
||||||
|
// Combine date + heure en DateTime
|
||||||
|
$date_heure = $date . ' ' . $heure . ':00';
|
||||||
|
|
||||||
// On peut ajouter une petite validation simple
|
|
||||||
if (empty($nom) || empty($prenom) || empty($tel)) {
|
if (empty($nom) || empty($prenom) || empty($tel)) {
|
||||||
echo "Veuillez remplir tous les champs obligatoires !";
|
$_SESSION['notification'] = 'Veuillez remplir tous les champs obligatoires.';
|
||||||
|
require('views/contact_views.php');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Connexion à la base
|
|
||||||
require('models/connection.php');
|
require('models/connection.php');
|
||||||
$c = connection();
|
$c = connection();
|
||||||
|
|
||||||
// Création de la personne
|
|
||||||
require('models/contact_crud.php');
|
require('models/contact_crud.php');
|
||||||
create_personne($spe, $nom, $prenom, $dep,$tel, $date_heure, $c);
|
|
||||||
|
|
||||||
// Affichage de la page de confirmation
|
create_sauveteur($c, $nom, $prenom, $dep, $spe, $date_heure, $tel);
|
||||||
require('views/welcome_view.php');
|
|
||||||
}
|
$_SESSION['notification'] = 'Sauveteur ajouté avec succès.';
|
||||||
|
header('Location: index.php?route=ajout_personnes');
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,45 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);
|
||||||
|
ini_set('display_errors', 1);
|
||||||
|
|
||||||
|
require_once('models/connection.php');
|
||||||
|
require_once('models/operation_crud.php');
|
||||||
|
|
||||||
|
function operations_form_ctrl() {
|
||||||
|
// Appelle TA vue exacte
|
||||||
|
require('views/operations_view.php');
|
||||||
|
}
|
||||||
|
|
||||||
|
function add_operation_write_ctrl() {
|
||||||
|
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
||||||
|
|
||||||
|
// 1. On récupère les 3 champs de ton formulaire
|
||||||
|
$date_debut = $_POST['date_debut'];
|
||||||
|
$date_fin = $_POST['date_fin'];
|
||||||
|
$lieu = $_POST['lieu'];
|
||||||
|
|
||||||
|
// 2. On force les champs obligatoires de la BDD en arrière-plan
|
||||||
|
$en_prepa = 0;
|
||||||
|
$id_sauveteur = 1; // Par défaut
|
||||||
|
$id_statut = 1; // Par défaut
|
||||||
|
$id_utilisateur = 1; // Par défaut
|
||||||
|
|
||||||
|
$connex = connection();
|
||||||
|
|
||||||
|
// On envoie tout au modèle
|
||||||
|
$resultat = create_operation_crud($connex, $date_debut, $date_fin, $lieu, $en_prepa, $id_sauveteur, $id_statut, $id_utilisateur);
|
||||||
|
|
||||||
|
require('models/close_connection.php');
|
||||||
|
|
||||||
|
if ($resultat) {
|
||||||
|
$_SESSION['notification'] = "Opération enregistrée avec succès.";
|
||||||
|
} else {
|
||||||
|
$_SESSION['notification'] = "<span style='color:red;'>Erreur lors de l'enregistrement.</span>";
|
||||||
|
}
|
||||||
|
|
||||||
|
header('Location: index.php?route=operations');
|
||||||
|
exit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
@ -65,6 +65,11 @@
|
||||||
modif_utilisateurs_write_ctrl();
|
modif_utilisateurs_write_ctrl();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'ajout_personnes':
|
||||||
|
require('controllers/contact_crtl.php');
|
||||||
|
contact_ctrl();
|
||||||
|
break;
|
||||||
|
|
||||||
case 'operations':
|
case 'operations':
|
||||||
require('controllers/operation_ctrl.php');
|
require('controllers/operation_ctrl.php');
|
||||||
operations_form_ctrl();
|
operations_form_ctrl();
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,15 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
function create_sauveteur(PDO $connex, $nom, $prenom, $dep, $spe, $date, $heure, $role, $tel)
|
function create_sauveteur(PDO $c, string $nom, string $prenom, string $dep, string $spe, string $date_heure, string $tel): void {
|
||||||
{
|
$req = "INSERT INTO Sauveteur (nom, prenom, departement, specialite, DateHeureEngagement, NumTel)
|
||||||
$req = "INSERT INTO Sauveteur
|
VALUES (:nom, :prenom, :dep, :spe, :date_heure, :tel)";
|
||||||
(nom, prenom, dep, spe, ladate, lheure, role, tel)
|
|
||||||
VALUES
|
|
||||||
(:nom, :prenom, :dep, :spe, :date, :heure, :role, :tel)";
|
|
||||||
|
|
||||||
$prep = $connex->prepare($req);
|
|
||||||
|
|
||||||
|
$prep = $c->prepare($req);
|
||||||
$prep->bindValue(':nom', $nom);
|
$prep->bindValue(':nom', $nom);
|
||||||
$prep->bindValue(':prenom', $prenom);
|
$prep->bindValue(':prenom', $prenom);
|
||||||
$prep->bindValue(':dep', $dep);
|
$prep->bindValue(':dep', $dep);
|
||||||
$prep->bindValue(':spe', $spe);
|
$prep->bindValue(':spe', $spe);
|
||||||
|
$prep->bindValue(':date_heure', $date_heure);
|
||||||
$prep->bindValue(':tel', $tel);
|
$prep->bindValue(':tel', $tel);
|
||||||
$prep->bindValue(':date', $date);
|
|
||||||
|
|
||||||
|
|
||||||
$prep->execute();
|
$prep->execute();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
function create_operation_crud(PDO $connex, string $date_debut, string $date_fin, string $lieu, int $en_prepa, int $id_sauveteur, int $id_statut, int $id_utilisateur): bool {
|
||||||
|
|
||||||
|
// On insère les données dans la table Mission avec le champ Lieu ajouté
|
||||||
|
$req = "INSERT INTO Mission (DateHeureDebut, DateHeureFin, EnPrepa, ID_Sauveteur, ID_statut, ID_Utilisateur, Lieu)
|
||||||
|
VALUES (:date_debut, :date_fin, :en_prepa, :id_sauveteur, :id_statut, :id_utilisateur, :lieu)";
|
||||||
|
|
||||||
|
$prep = $connex->prepare($req);
|
||||||
|
|
||||||
|
$prep->bindValue(':date_debut', $date_debut);
|
||||||
|
$prep->bindValue(':date_fin', $date_fin);
|
||||||
|
$prep->bindValue(':lieu', $lieu);
|
||||||
|
$prep->bindValue(':en_prepa', $en_prepa, PDO::PARAM_INT);
|
||||||
|
$prep->bindValue(':id_sauveteur', $id_sauveteur, PDO::PARAM_INT);
|
||||||
|
$prep->bindValue(':id_statut', $id_statut, PDO::PARAM_INT);
|
||||||
|
$prep->bindValue(':id_utilisateur', $id_utilisateur, PDO::PARAM_INT);
|
||||||
|
|
||||||
|
$resultat = $prep->execute();
|
||||||
|
$prep->closeCursor();
|
||||||
|
|
||||||
|
return $resultat;
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
@ -1,50 +1,50 @@
|
||||||
<?php require('header.php')?>
|
<?php require('views/header.php'); ?>
|
||||||
|
|
||||||
<h2>Ajouts de personnes </h2>
|
<h2>Ajout de personnes</h2>
|
||||||
|
|
||||||
<form action="traite_formulaire.php" method="post">
|
<form action="index.php?route=ajout_personnes" method="post">
|
||||||
<p>Nom : <input type="text" name="nom" /></p>
|
<p>
|
||||||
<p>Prénom : <input type="text" name="prenom" /></p>
|
<label>Nom :</label>
|
||||||
|
<input type="text" name="nom" required>
|
||||||
<p>Département : <input type="text" name="dep" /></p>
|
|
||||||
<label for="spe">Spécialité :</label>
|
|
||||||
<select type="number" min="1" placeholder="spécialité" name="spe" >
|
|
||||||
<option value="1" selected="true">Evacuation </option>
|
|
||||||
<option value="2">ASV (assistance victime)</option>
|
|
||||||
<option value="3">Transmission</option>
|
|
||||||
<option value="4">Conseiller technique(chef)</option>
|
|
||||||
<option value="5">Gestion</option>
|
|
||||||
<option value="6">Désobstruction</option>
|
|
||||||
<option value="7">Médical</option>
|
|
||||||
<option value="8">Ventilation</option>
|
|
||||||
<option value="9">Pas de spécialitées</option>
|
|
||||||
</select>
|
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label for="date">Date d'engagement sur l'opération de secours :</label>
|
<label>Prénom :</label>
|
||||||
<input type="date" name="ladate" /></p>
|
<input type="text" name="prenom" required>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label for="heure">Heure d'engagement sur l'opération de secours :</label>
|
<label>Département :</label>
|
||||||
<input type="time" name="lheure"/>
|
<input type="text" name="dep" required>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label for="roles">Rôle :</label>
|
<label for="spe">Spécialité :</label>
|
||||||
<select type="number" min="1" placeholder="Rôle" name="role">
|
<select name="spe" id="spe">
|
||||||
<option value="1" selected="true">Gestionnaire </option>
|
<option value="1">Évacuation</option>
|
||||||
<option value="2">Lecteur </option>
|
<option value="2">ASV (assistance victime)</option>
|
||||||
<option value="3">Admin</option>
|
<option value="3">Transmission</option>
|
||||||
</select>
|
<option value="4">Conseiller technique (chef)</option>
|
||||||
</p>
|
<option value="5">Gestion</option>
|
||||||
<p>
|
<option value="6">Désobstruction</option>
|
||||||
<label for="tel">Numéro de téléphone :</label>
|
<option value="7">Médical</option>
|
||||||
<input type="tel" id="tel" name="tel" placeholder="Numéro de téléphone" required>
|
<option value="8">Ventilation</option>
|
||||||
</p>
|
<option value="9">Pas de spécialité</option>
|
||||||
|
</select>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<label for="date">Date d'engagement :</label>
|
||||||
|
<input type="date" id="date" name="ladate" required>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<label for="heure">Heure d'engagement :</label>
|
||||||
|
<input type="time" id="heure" name="lheure" required>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<label for="tel">Numéro de téléphone :</label>
|
||||||
|
<input type="tel" id="tel" name="tel" required>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<input type="submit" value="Valider">
|
||||||
|
<input type="reset" value="Annuler">
|
||||||
|
</p>
|
||||||
|
</form>
|
||||||
|
|
||||||
<input type="submit" value="Valider" />
|
<?php require('views/footer.php'); ?>
|
||||||
<input type="reset" value="Annuler" />
|
|
||||||
</form>
|
|
||||||
|
|
||||||
|
|
||||||
<?php
|
|
||||||
require('footer.php');
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,8 @@
|
||||||
<?php require('views/header.php'); ?>
|
<?php require('views/header.php'); ?>
|
||||||
|
|
||||||
<nav style="margin-bottom: 20px;">
|
<nav class="sub-nav">
|
||||||
<a href="index.php?route=operations" style="text-decoration: underline; font-weight: bold; margin-right: 15px;">Opérations</a>
|
<a href="index.php?route=operations">Opérations</a>
|
||||||
<a href="index.php?route=ajout_personnes" style="margin-right: 15px;">Ajout personnes</a>
|
<a href="index.php?route=ajout_personnes">Ajout personnes</a>
|
||||||
<a href="index.php?route=planning">Planning</a>
|
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
<h2>Création d'une opération</h2>
|
<h2>Création d'une opération</h2>
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue