From 01f5c6e1abd3dfd0d4915d8e0947f7f9eb506dc3 Mon Sep 17 00:00:00 2001 From: sinbad Date: Tue, 14 May 2024 11:30:16 +0200 Subject: [PATCH 1/2] avancer sur patient --- src/API/requests.php | 25 +++++------ src/API/test/database.php | 5 ++- src/js/AJAX/index.js | 4 ++ src/js/AJAX/rdv-patient.js | 92 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 110 insertions(+), 16 deletions(-) create mode 100644 src/js/AJAX/rdv-patient.js diff --git a/src/API/requests.php b/src/API/requests.php index 42e4ae4..4516642 100644 --- a/src/API/requests.php +++ b/src/API/requests.php @@ -16,10 +16,6 @@ $pdo = dbConnect(); $router = new Router(); -$router->GET('/api/requests', ["test"], function($test){ - echo json_encode($test); -}); - $router->GET('/api/search-type', ["type"], function($type){ global $pdo; searchDoctor($pdo, $type); @@ -58,9 +54,6 @@ $router->PUT('/api/rdv', ["rdv_id", "patient_id"], function($rdv_id, $patient_id global $pdo; takeRDV($pdo, $rdv_id, $patient_id); }); -$router->POST('/api/requests', ["test"], function($test){ - echo json_encode($test); -}); $router->POST('/api/login/patient', ["mail", "password"], function($mail, $password){ global $pdo; @@ -117,13 +110,10 @@ $router->PUT('/api/change/mail', ["id", "currentMail", "newMail"], function($id, Patient::updateMail($pdo, $id, $currentMail, $newMail); }); -$router->PUT('/api/requests', ["test"], function($test){ - echo json_encode($test); -}); -$router->DELETE('/api/requests', ["test"], function($test){ - echo json_encode($test); -}); +//Yanis Part + + $router->GET('/api/rdv-praticient', ["id"], function($id){ global $pdo; @@ -135,9 +125,13 @@ $router->GET('/api/rdv-praticient/getAllLieux', [], function(){ getAllLieux($pdo); }); -$router->GET('/api/rdv-patient', ["id"], function($id){ +$router->GET('/api/next-rdv-patient', ["id"], function($id){ global $pdo; dbRequestRdvPatient($pdo, $id); +}); + +$router->GET('/api/past-rdv-patient', ["id"], function($id){ + global $pdo; getPastRdvByPatient($pdo, $id); }); @@ -156,4 +150,7 @@ $router->POST('/api/create-rdv', ["medID", "date", "time", "lieu"], function($me CreateRDV($pdo, $medID, $date, $time, $lieu); }); + +//End of Yanis Part + $router->run(); diff --git a/src/API/test/database.php b/src/API/test/database.php index 6c0b3e8..373e0dd 100644 --- a/src/API/test/database.php +++ b/src/API/test/database.php @@ -41,7 +41,7 @@ function dbRequestRdvPraticien($pdo, $id){ } function dbRequestRdvPatient($pdo, $id){ - $statement = $pdo->prepare("SELECT rdv_date, rdv_time, concat(m_name, ' ', m_surname) as medecin, medecin.m_specialty, medecin.m_id, concat(p_name, ' ', p_surname) as patient, l_adress as adresse, concat(l_postal, ' ', l_city) as ville + $statement = $pdo->prepare("SELECT rdv_date, rdv_time, concat(m_name, ' ', m_surname) as medecin, medecin.m_specialty as med_spe, medecin.m_id, concat(p_name, ' ', p_surname) as patient, l_adress as adresse, concat(l_postal, ' ', l_city) as ville FROM rendez_vous INNER JOIN patient ON rendez_vous.p_id = patient.p_id INNER JOIN propose ON rendez_vous.rdv_id = propose.rdv_id @@ -49,7 +49,8 @@ function dbRequestRdvPatient($pdo, $id){ INNER JOIN lieu on lieu.l_id = rendez_vous.l_id WHERE NOW() <= (rdv_date + rdv_time) AND patient.p_id = :id - ORDER BY rdv_date ASC, rdv_time ASC"); + ORDER BY rdv_date ASC, rdv_time ASC + LIMIT 5"); $statement->bindParam(':id', $id); $statement->execute(); diff --git a/src/js/AJAX/index.js b/src/js/AJAX/index.js index e335569..9719f9c 100644 --- a/src/js/AJAX/index.js +++ b/src/js/AJAX/index.js @@ -20,6 +20,10 @@ document.addEventListener("DOMContentLoaded", function() { ButtonShowRdvPraticient(); }); +document.addEventListener("DOMContentLoaded", function() { + ButtonShowRdvPatient(); +}); + //End Call ButtonShowRdvPraticient(); diff --git a/src/js/AJAX/rdv-patient.js b/src/js/AJAX/rdv-patient.js new file mode 100644 index 0000000..465256c --- /dev/null +++ b/src/js/AJAX/rdv-patient.js @@ -0,0 +1,92 @@ +import {TokenDecode} from "./lib"; + +function ButtonShowRdvPatient() { + try { + document.getElementById("user-calendar").addEventListener("click", function () { + + let content = document.getElementById("content"); + content.innerHTML = ""; + content.innerHTML += '
'; + + let nextRDV; + + let user = TokenDecode(sessionStorage.getItem("token")); + ajaxRequest('GET', "src/API/requests.php/api/next-rdv-patient?id=" + user.id, function (data) { + nextRDV = data; + DisplayNextRDVPatient(data); + console.log(data); + }); + + content.innerHTML += "
"; + + ajaxRequest('GET', "src/API/requests.php/api/past-rdv-patient?id=" + user.id, function (data) { + DisplayPastRDVPatient(data); + console.log(data); + }); + + content.innerHTML += "
"; + + DisplayRDV(nextRDV); + + }); + } + catch (e) { + //Do nothing + //console.error(e); + } +} + +function DisplayNextRDVPatient(rdv){ + let content = document.getElementById("next-rdv"); + content.innerHTML = ""; + content.innerHTML += "
Vos rendez-vous à venir
"; + if(rdv.length === 0){ + content.innerHTML += "

Vous n'avez pas de rendez-vous à venir

"; + } + else{ + for(let i = 0; i < rdv.length; i++) { + content.innerHTML += "
" + + "
" + + "
" + + "

" + rdv[i].rdv_date + "

" + + "

" + rdv[i].rdv_time + "

" + + "
" + + "
" + rdv[i].medecin + "
" + + "
" + rdv[i].med_spe + "
" + + "

Preparer la consulation

"; + } + } +} + + +function DisplayPastRDVPatient(rdv) { + let content = document.getElementById("past-rdv"); + content.innerHTML = ""; + content.innerHTML += "
Vos rendez-vous passés
"; + if(rdv.length === 0){ + content.innerHTML += "

Vous n'avez pas de rendez-vous passé

"; + } + else{ + for(let i = 0; i < rdv.length; i++) { + content.innerHTML += "
" + + "
" + + "
" + + "

" + rdv[i].rdv_date + "

" + + "

" + rdv[i].rdv_time + "

" + + "
" + + "
" + rdv[i].medecin + "
" + + "
" + rdv[i].med_spe + "
" + + "
" + + " " + + "
"; + + document.getElementById("retake-rdv" + i).addEventListener("click", function () { + console.log("Retake RDV"); + + } + } + } +} + + +function DisplayRDV(rdv){} \ No newline at end of file From 730406f60109a6f7f5b4eb0b855a01f35b97edad Mon Sep 17 00:00:00 2001 From: sinbad Date: Sat, 18 May 2024 17:51:57 +0200 Subject: [PATCH 2/2] =?UTF-8?q?Patient=20almost=20done=20mais=20probl?= =?UTF-8?q?=C3=A8me=20pour=20d=C3=A9placer=20mes=20rdv=20mais=20attachEven?= =?UTF-8?q?tListener=20ne=20sont=20pas=20=C3=A9ffectu=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/API/test/database.php | 2 +- src/js/AJAX/index.js | 1 + src/js/AJAX/rdv-patient.js | 131 +++++++++++++++++++++++++++++-------- src/js/AJAX/take-rdv.js | 2 +- 4 files changed, 107 insertions(+), 29 deletions(-) diff --git a/src/API/test/database.php b/src/API/test/database.php index 373e0dd..8d4384e 100644 --- a/src/API/test/database.php +++ b/src/API/test/database.php @@ -64,7 +64,7 @@ function dbRequestRdvPatient($pdo, $id){ } function getPastRdvByPatient($pdo, $id){ - $statement = $pdo->prepare("SELECT rdv_date, rdv_time, concat(m_name, ' ', m_surname) as medecin, medecin.m_specialty, medecin.m_id, concat(p_name, ' ', p_surname) as patient, l_adress as adresse, concat(l_postal, ' ', l_city) as ville + $statement = $pdo->prepare("SELECT rdv_date, rdv_time, concat(m_name, ' ', m_surname) as medecin, medecin.m_specialty as med_spe, medecin.m_id as med_id, concat(p_name, ' ', p_surname) as patient, l_adress as adresse, concat(l_postal, ' ', l_city) as ville FROM rendez_vous INNER JOIN patient ON rendez_vous.p_id = patient.p_id INNER JOIN propose ON rendez_vous.rdv_id = propose.rdv_id diff --git a/src/js/AJAX/index.js b/src/js/AJAX/index.js index 8a733f8..091a053 100644 --- a/src/js/AJAX/index.js +++ b/src/js/AJAX/index.js @@ -3,6 +3,7 @@ import {attachLoginUserDisplayEventListener, attachLoginPraticienDisplayEventLis //import {TokenDecode} from "./lib.js"; import {displayHome, displayHomeTopBar, attachReturnHomeEventListener} from "./home.js"; import {ButtonShowRdvPraticient} from "./rdv-praticien.js"; +import {ButtonShowRdvPatient} from "./rdv-patient.js"; console.log("index.js loaded"); diff --git a/src/js/AJAX/rdv-patient.js b/src/js/AJAX/rdv-patient.js index 465256c..8e1a529 100644 --- a/src/js/AJAX/rdv-patient.js +++ b/src/js/AJAX/rdv-patient.js @@ -1,33 +1,27 @@ -import {TokenDecode} from "./lib"; +import {TokenDecode} from "./lib.js"; +import {displayCalendar} from "./take-rdv.js"; function ButtonShowRdvPatient() { try { document.getElementById("user-calendar").addEventListener("click", function () { - let content = document.getElementById("content"); - content.innerHTML = ""; - content.innerHTML += '
'; - let nextRDV; - let user = TokenDecode(sessionStorage.getItem("token")); ajaxRequest('GET', "src/API/requests.php/api/next-rdv-patient?id=" + user.id, function (data) { - nextRDV = data; + nextRDV = data + content.innerHTML = ""; + content.innerHTML += '
'; + DisplayNextRDVPatient(data); - console.log(data); + content.innerHTML += "
"; + + ajaxRequest('GET', "src/API/requests.php/api/past-rdv-patient?id=" + user.id, function (data) { + DisplayPastRDVPatient(data); + content.innerHTML += "
"; + DisplayRDV(nextRDV); + content.innerHTML += "
"; + }); }); - - content.innerHTML += "
"; - - ajaxRequest('GET', "src/API/requests.php/api/past-rdv-patient?id=" + user.id, function (data) { - DisplayPastRDVPatient(data); - console.log(data); - }); - - content.innerHTML += "
"; - - DisplayRDV(nextRDV); - }); } catch (e) { @@ -59,6 +53,18 @@ function DisplayNextRDVPatient(rdv){ } +function attachEventListener(i, rdv) { + document.getElementById("retake-rdv-" + i + "-" + rdv[i].med_id).addEventListener("click", function () { + let id = rdv[i].med_id; + let today = new Date(); + let date = today.getFullYear() + "-" + (today.getMonth() + 1).toString().padStart(2, "0") + "-" + today.getDate().toString().padStart(2, "0"); + ajaxRequest('GET', "src/API/requests.php/api/rdv-date?date=" + date + "&id=" + id, function (data) { + displayCalendar(data); + }); + }); +} + + function DisplayPastRDVPatient(rdv) { let content = document.getElementById("past-rdv"); content.innerHTML = ""; @@ -77,16 +83,87 @@ function DisplayPastRDVPatient(rdv) { "
" + rdv[i].medecin + "
" + "
" + rdv[i].med_spe + "
" + "
" + - " " + + " " + "
"; - - document.getElementById("retake-rdv" + i).addEventListener("click", function () { - console.log("Retake RDV"); - - } + attachEventListener(i, rdv); } + } } -function DisplayRDV(rdv){} \ No newline at end of file +function attachEventListenerDeplacer(rdv){ + document.getElementById("deplacer_button").addEventListener("click", function () { + let id = rdv[i].med_id; + let today = new Date(); + let date = today.getFullYear() + "-" + (today.getMonth() + 1).toString().padStart(2, "0") + "-" + today.getDate().toString().padStart(2, "0"); + ajaxRequest('GET', "src/API/requests.php/api/rdv-date?date=" + date + "&id=" + id, function (data) { + displayCalendar(data); + }); + }); +} + +function attachEventListenerAnnuler(rdv){ + document.getElementById("cancel_button").addEventListener("click", function () { + let id = rdv.rdv_id; + ajaxRequest('POST', "src/API/requests.php/api/cancel-rdv", function (data) { + }); + }); + +} + + +function DisplayRDV(rdv){ + let content = document.getElementById("zoom"); + content.innerHTML = "" + if(rdv.length === 0){ + content.innerHTML += "

Vous n'avez pas de rendez-vous à venir

" + } + else{ + content.innerHTML += "
" + + "
" + + "
" + + "

" + rdv[0].rdv_date + "

" + + "

" + rdv[0].rdv_time + "

" + + "
" + + "
" + + "
" + + "
" + rdv[0].medecin + "
" + + "
" + rdv[0].med_spe + "
" + + "
Déplacer le rendez-vous
" + + "
Annuler le rendez-vous" + + "
" + + "
" + + "
" + + "
" + + "
Préparer la consulation
" + + "
Pour gagner du temps et améliorer votre prise en charge.
" + + "
" + + "" + + "" + + "" + + "

" + + "" + + "
Maintenance en cours.
" + + "
" + + "
" + + "
" + + "
" + + "
" + + "
Patient
" + + "
" + rdv[0].patient + "
" + + "
" + + "
" + + "
" + + "
" + + "
Lieu de la consulation
" + + "
" + rdv[0].adresse + "
" + + rdv[0].ville + "
" + + "
" + + "
" + attachEventListenerDeplacer(rdv); + attachEventListenerAnnuler(rdv); + } +} + +export {ButtonShowRdvPatient}; \ No newline at end of file diff --git a/src/js/AJAX/take-rdv.js b/src/js/AJAX/take-rdv.js index 092db49..0caee0b 100644 --- a/src/js/AJAX/take-rdv.js +++ b/src/js/AJAX/take-rdv.js @@ -156,4 +156,4 @@ function attachPrendreRDVEventListener() { }); } -export {attachRDVEventListener}; \ No newline at end of file +export {attachRDVEventListener, displayCalendar}; \ No newline at end of file