diff --git a/Medecins.php b/Medecins.php index 52fe1e1..901e188 100755 --- a/Medecins.php +++ b/Medecins.php @@ -95,7 +95,7 @@ $medecinsSearch = ( isset($_GET['medecins']) ) ? json_decode( customCompression( foreach($medecinsSearch as $MED){ if( isset($MED['Id']) && isset($MED['Civilite']) && isset($MED['Prenom']) && isset($MED['Nom']) ){ echo ''; // début modification - echo "
"; + echo ""; echo ""; echo ""; echo ""; diff --git a/Patients.php b/Patients.php index d45fe6d..89a842e 100755 --- a/Patients.php +++ b/Patients.php @@ -18,6 +18,10 @@ $managerMessage = (isset($_GET['message'])) ? $_GET['message'] : 'Erreur interne // on récupère la liste des médecins si donnée $patientsSearch = ( isset($_GET['patients']) ) ? json_decode( customCompression($_GET['patients'], false) , true) : []; + +/* MODIFICATION DE PATIENT */ +$patientOpt = (isset($_POST['update_id'])) ? $_POST['update_id'] : null; + ?> @@ -95,16 +99,14 @@ $patientsSearch = ( isset($_GET['patients']) ) ? json_decode( customCompression( echo ''; // début modification - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo "". (($PAT['Civilite']=='M')?'Monsieur':'Madame') .""; + echo "". $PAT['Prenom'] .""; + echo "". strtoupper($PAT['Nom']) .""; + echo "". $PAT['DateNaissance'] .""; + echo "". $PAT['NumSecuriteSociale'] .""; + echo ""; echo '
'; // fin modification @@ -128,6 +130,83 @@ $patientsSearch = ( isset($_GET['patients']) ) ? json_decode( customCompression( + +
+ + +
+

Modification d'un patient

+
+
+
+ "; + echo "
"; + echo "
"; + + // homme selectionné + if( $PATIENT['Civilite'] == 'M' ){ + echo "
"; + echo "
"; + // femme selectionnée + }else{ + echo "
"; + echo "
"; + } + + echo "
"; + echo "
"; + echo "Code postal
"; + echo "
"; + echo "Date de naissance
"; + echo "
"; + echo "Numéro de sécurité sociale
"; + + echo "Choix du médecin traitant (optionnel)
"; + echo "
"; + + } + ?> + + +
+ +
+ + + diff --git a/css/global.css b/css/global.css index 502d6f9..a0135c0 100755 --- a/css/global.css +++ b/css/global.css @@ -785,16 +785,22 @@ input[type=radio]:checked + label:before{ /* Modification champ de recherche (patient/médecin/consultation) */ -#CONTAINER > article .updPatient input[type=text], +#CONTAINER > article .updPatient span, #CONTAINER > article .updMedecin input[type=text]{ - width: 6em; + display: inline-block; + width: 7em; padding: .1em; margin: 0 .2em; - border: 0; + border: 1px solid transparent; + border-radius: 3px; } +#CONTAINER > article .updMedecin input[type=text]:hover{ + border-color: #cccccc; +} + #CONTAINER > article .updPatient input[type=submit], #CONTAINER > article .updMedecin input[type=submit]{ diff --git a/js/medecins.js b/js/medecins.js index 0a15056..7b4b81f 100755 --- a/js/medecins.js +++ b/js/medecins.js @@ -155,7 +155,7 @@ function displayFoundMedecins(foundMedecins){ for( var i = 0 ; i < foundMedecins.length ; i++ ){ content += ''; // début modification - content += "
"; + content += ""; content += ""; content += ""; content += ""; diff --git a/js/patients.js b/js/patients.js index 18f4609..5048629 100755 --- a/js/patients.js +++ b/js/patients.js @@ -234,16 +234,15 @@ function displayFoundPatients(foundPatients){ for( var i = 0 ; i < foundPatients.length ; i++ ){ content += ''; // début modification - content += ""; - content += ""; - content += ""; - content += ""; - content += ""; - content += ""; - content += ""; - - content += ""; + content += ""; + content += ""; + content += ""+ ((foundPatients[i].Civilite=='M')?'Monsieur':'Madame') + ""; + content += ""+ foundPatients[i].Prenom + ""; + content += ""+ foundPatients[i].Nom.toUpperCase() + ""; + content += ""+ foundPatients[i].DateNaissance + ""; + content += ""+ foundPatients[i].NumSecuriteSociale + ""; content += ""; + content += '
'; // fin modification diff --git a/managers/Patient.class.php b/managers/Patient.class.php index 6d008c6..190d41b 100755 --- a/managers/Patient.class.php +++ b/managers/Patient.class.php @@ -92,14 +92,34 @@ class Patient } public function update($params){ - if(StaticRepo::checkParam($params['date_naissance'],'Date')){ - $params['num_secu'] = str_replace(' ','',$params['num_secu']); - $params['date_naissance'] = DateTime::createFromFormat('d/m/Y', $params['date_naissance']); - if(PatientRepo::update($params['id_patient'],$params['civilite'],strtolower($params['prenom']),strtolower($params['nom']),$params['adresse'],$params['adresse2'],$params['ville'],$params['cope_postal'], - $params['date_naissance']->format('Y-m-d'),$params['lieu_naissance'],$params['num_secu'],$params['medecin_traitant']) !==FALSE){ + if( isset($params['id_patient']) + && isset($params['civilite']) + && isset($params['prenom']) + && isset($params['nom']) + && isset($params['adresse']) + && isset($params['adresse2']) + && isset($params['ville']) + && isset($params['code_postal']) + && isset($params['date_naissance']) + && isset($params['lieu_naissance']) + && isset($params['num_secu']) + && isset($params['id_medecin']) ){ + + if( PatientRepo::update($params['id_patient'], + $params['civilite'], + strtolower($params['prenom']), + strtoupper($params['nom']), + $params['adresse'], + $params['adresse2'], + $params['ville'], + $params['code_postal'], + $params['date_naissance'], + $params['lieu_naissance'], + $params['num_secu'], + $params['id_medecin']) !== FALSE ){ - $_status = 'success'; - $_title = 'Modification effectuée!'; + $_status = 'success'; + $_title = 'Modification effectuée!'; $_message = 'Le patient '.$params['prenom'].' '.$params['nom'].' a bien été modifié.'; if( !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' ) @@ -125,8 +145,8 @@ class Patient } }else{ $_status = 'error'; - $_title = 'Erreur de modification!'; - $_message = 'Le format de la date est incorrect. Réessayez!'; + $_title = 'Erreur de paramètres!'; + $_message = 'Certains champs sont incorrects. Réessayez!'; if( !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' ) Response::quickResponse(200, json_encode([ 'status' => $_status, 'title' => $_title, 'message' => $_message ])); diff --git a/repositories/repos/PatientRepo.php b/repositories/repos/PatientRepo.php index edc3743..c4d61e8 100755 --- a/repositories/repos/PatientRepo.php +++ b/repositories/repos/PatientRepo.php @@ -9,7 +9,7 @@ class PatientRepo { public static function getById($id){ - if(!StaticRepo::checkParam($id,'Integer')){return false;} + if(!StaticRepo::checkParam($id,'Numeric')){return false;} $req = StaticRepo::getConnexion()->prepare('SELECT * FROM Patient WHERE Id = :id'); $req->execute(['id' => $id]); @@ -71,42 +71,72 @@ class PatientRepo } - public static function update($id,$civilite,$prenom,$nom,$adresse,$adresse2,$ville,$codePostal,$dateNaissance,$lieuNaissance,$numSecu,$medecinTraitant){ + public static function update( + $id, + $civilite, + $prenom, + $nom, + $adresse, + $adresse2, + $ville, + $codePostal, + $dateNaissance, + $lieuNaissance, + $numSecu, + $medecinTraitant ){ - $correctTypes = StaticRepo::checkParam($civilite,'Civilite'); + $correctTypes = StaticRepo::checkParam($id, 'Numeric'); + $correctTypes = $correctTypes && StaticRepo::checkParam($civilite, 'Civilite'); $correctTypes = $correctTypes && StaticRepo::checkParam($prenom,'String45'); $correctTypes = $correctTypes && StaticRepo::checkParam($nom,'String45'); $correctTypes = $correctTypes && StaticRepo::checkParam($adresse,'String255'); - $correctTypes = $correctTypes && ( $adresse2 == 'null' || $adresse2 === null || StaticRepo::checkParam($adresse2, 'String255') ); + $correctTypes = $correctTypes && ( $adresse2 == 'null' || $adresse2 == '' || $adresse2 === null || StaticRepo::checkParam($adresse2, 'String255') ); $correctTypes = $correctTypes && StaticRepo::checkParam($ville,'String50'); $correctTypes = $correctTypes && StaticRepo::checkParam($codePostal,'String'); $correctTypes = $correctTypes && StaticRepo::checkParam($dateNaissance,'Date'); $correctTypes = $correctTypes && StaticRepo::checkParam($lieuNaissance,'String50'); - $correctTypes = $correctTypes && ( $medecinTraitant == 'null' || $medecinTraitant === null ||StaticRepo::checkParam($medecinTraitant, 'Integer') ); + $correctTypes = $correctTypes && ( $medecinTraitant == 'null' || $medecinTraitant === null || StaticRepo::checkParam($medecinTraitant, 'Numeric') ); if( !$correctTypes ) return false; - $dateNaissance = strtotime($dateNaissance); - $dateNaissance = Date('o-m-d',$dateNaissance); - $req = StaticRepo::getConnexion()->prepare('UPDATE Patient SET Civilite=:civilite,Nom=:nom,Prenom=:prenom,Adresse=:adresse,Adresse2=:adresse2,Ville=:ville, - CodePostal=:codePostal,DateNaissance=:dateNaissance,LieuNaissance=:lieuNaissance,NumSecuriteSociale=:numSecu,MedecinTraitant=:medecin WHERE Id=:id;'); + // on enlève les espaces du numéro de sécu + $numSecu = str_replace(' ', '', $numSecu); + // on met la date de naissance au bon format + $dateNaissance = DateTime::createFromFormat('d/m/Y', $dateNaissance)->format('Y-m-d 00:00:00'); + exit(); + + $req = StaticRepo::getConnexion()->prepare('UPDATE Patient + SET Civilite = :civilite, + Nom = :nom, + Prenom = :prenom, + Adresse = :adresse, + Adresse2 = :adresse2, + Ville = :ville, + CodePostal = :codePostal, + DateNaissance = :dateNaissance, + LieuNaissance = :lieuNaissance, + NumSecuriteSociale = :numSecu, + MedecinTraitant = :medecin + WHERE Id = :id'); $result = $req->execute(['civilite' => $civilite, - 'nom' => $nom, - 'prenom' => $prenom, - 'adresse' => $adresse, - 'adresse2' => $adresse2, - 'ville' => $ville, - 'codePostal' => $codePostal, - 'dateNaissance' => $dateNaissance, - 'lieuNaissance' => $lieuNaissance, - 'numSecu' => $numSecu, - 'medecin' => $medecinTraitant, - 'id' => $id]); + ':nom' => $nom, + ':prenom' => $prenom, + ':adresse' => $adresse, + ':adresse2' => $adresse2, + ':ville' => $ville, + ':codePostal' => $codePostal, + ':dateNaissance' => $dateNaissance, + ':lieuNaissance' => $lieuNaissance, + ':numSecu' => $numSecu, + ':medecin' => $medecinTraitant, + ':id' => $id]); //PDO renvoie un ID sous forme de char, on transtype $id = StaticRepo::getConnexion()->lastInsertId(); + settype($id,'integer'); - if($result){return $id;} - else{return false;} + + if($result) return $id; + else return false; }