From 99bf5447b9e629667e7ec392b6f772c0e0c6a0b0 Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Thu, 7 Jan 2016 22:39:01 +0100 Subject: [PATCH] [x] Saisie de note libre (sans pas de .25) [x] Pb saisie_notemultiple renvoie "error" --- js/lib/API.js | 2 +- manager/repo/note.php | 15 +++++++++++---- page/_JS/career.js | 4 ++-- page/career.php | 8 ++++---- test.php | 1 - 5 files changed, 18 insertions(+), 12 deletions(-) diff --git a/js/lib/API.js b/js/lib/API.js index 4111cce..a272c54 100755 --- a/js/lib/API.js +++ b/js/lib/API.js @@ -51,7 +51,7 @@ APIClass.prototype = { if( ptrAPI.xhr[i].readyState == 4 ){ // si la requête est terminée /* DEBUG : affiche la réponse BRUTE de API.php */ - // console.log('API.php => '+ptrAPI.xhr[i].responseText); + console.log('API.php => '+ptrAPI.xhr[i].responseText); console.log( JSON.parse(ptrAPI.xhr[i].responseText) ); /* si success de requête */ diff --git a/manager/repo/note.php b/manager/repo/note.php index ee459ed..f7130f1 100755 --- a/manager/repo/note.php +++ b/manager/repo/note.php @@ -292,15 +292,22 @@ class noteRepo{ /* [3] On vérifie que la note a bien été créé pour cet étudiant et ce contrôle =================================================================================*/ - $verifNote = DataBase::getPDO()->prepare("SELECT n.id_note as id + $verifNote = DataBase::getPDO()->prepare("SELECT n.id_note as id, n.valeur FROM note as n, appartenance as app WHERE n.id_appartenance = app.id_appartenance AND app.id_etudiant = :etudiant AND n.id_controle = :controle - AND n.valeur = :valeur"); - $verifNote->execute(array( ':etudiant' => $etudiant, ':controle' => $controle, ':valeur' => $valeur )); + AND n.id_note in (SELECT max(id_note) FROM note GROUP BY id_controle, id_appartenance) + GROUP BY app.id_appartenance, n.id_controle"); + $verifNote->execute(array( ':etudiant' => $etudiant, ':controle' => $controle )); - return is_array( $verifNote->fetch() ); + $verifResult = $verifNote->fetch(); + + // si aucun résultat, on retourne FALSE + if( !is_array($verifResult) ) return false; + + // sinon on retourne la vérification de la valeur + return $verifResult['valeur'] == $valeur; } diff --git a/page/_JS/career.js b/page/_JS/career.js index f49c958..8407bc6 100755 --- a/page/_JS/career.js +++ b/page/_JS/career.js @@ -152,7 +152,7 @@ if( document.querySelector('#CONTAINER section[name=controlesenseignants]') != n var nombreModificationEnseignant = 0; // contiendra le nombre de notes saisies /* SAISIE A L'AIDE DES */ - var saisieInputEnseignant = document.querySelectorAll('#CONTAINER section[name=controlesenseignants] table tr td input[type=number][data-ctrl].saisie_note'); + var saisieInputEnseignant = document.querySelectorAll('#CONTAINER section[name=controlesenseignants] table tr td input[type=text][data-ctrl].saisie_note'); var saisieObjEnseignant = []; @@ -295,7 +295,7 @@ if( document.querySelector('#CONTAINER section[name=allcontroles]') != null ){ / var nombreModificationAdmin = 0; // contiendra le nombre de notes saisies /* SAISIE A L'AIDE DES */ - var saisieInputAdmin = document.querySelectorAll('#CONTAINER section[name=allcontroles] table tr td input[type=number][data-ctrl].saisie_note'); + var saisieInputAdmin = document.querySelectorAll('#CONTAINER section[name=allcontroles] table tr td input[type=text][data-ctrl].saisie_note'); var saisieObjAdmin = []; diff --git a/page/career.php b/page/career.php index 41ef4ee..f370dea 100755 --- a/page/career.php +++ b/page/career.php @@ -440,9 +440,9 @@ elseif( permission('teacher') ){ // si enseignant et qu'un contrôle est spécif echo ""; if( $user['note'] != null ) // s'il a déjà une note, on la met par défaut - echo ""; + echo ""; else // sinon on laisse le champ vide - echo ""; + echo ""; echo "
enregistrer
"; echo ""; @@ -795,9 +795,9 @@ elseif( permission('master') || permission('admin') ){ // si enseignant et qu'un if( permission('admin') ){ echo ""; if( $user['note'] != null ) // s'il a déjà une note, on la met par défaut - echo ""; + echo ""; else // sinon on laisse le champ vide - echo ""; + echo ""; echo "
enregistrer
"; echo ""; diff --git a/test.php b/test.php index 61eaf7f..2455ce3 100755 --- a/test.php +++ b/test.php @@ -46,7 +46,6 @@ require_once __ROOT__.'/manager/security.php'; debug(); - // var_dump(DataBase::getInstance()->getSemestreInfoFromTime( strtotime('2017-01-31') ));