From 7e20d418720d44211e1c5abeb4f7ba1c70a27045 Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Fri, 8 Jan 2016 02:16:27 +0100 Subject: [PATCH] [x] Compensations + au moins 1 des UE entre 8 et 10 (strictement pour 10) + moyenne des UE < 10 -> UEs entre 8 et 10 ORANGES + SEMESTRE en ORANGE + moyenne des UE >= 10 -> UEs entre 8 et 10 ORANGES + SEMESTRE en VERT + au moins 1 des UE < 8 + SEMESTRE en ROUGE --- manager/database.php | 21 ++++++++++++++++++ page/career.php | 35 +++++++++++++++++++++++++----- src/files/admin2_export_jury.xlsx | Bin 9499 -> 6389 bytes src/files/admin2_import_jury.xlsx | Bin 8033 -> 4710 bytes src/svg_v2.php | 20 +++++++++++++---- 5 files changed, 66 insertions(+), 10 deletions(-) diff --git a/manager/database.php b/manager/database.php index 8b405cf..156ebcb 100755 --- a/manager/database.php +++ b/manager/database.php @@ -1012,6 +1012,11 @@ class DataBase{ $moyenneSemestre = 0; // contiendra la somme des valeurs*coefficients $totalSemestre = 0; // contiendra la somme des coefficients + // par défaut le semestre est compensable + $semestreCompensable = true; + // vrai si le semestre est obtenu par compensation des UE + $semestreCompensation = false; + /* [2] Chaque UE ==========================*/ @@ -1060,6 +1065,14 @@ class DataBase{ if( !is_bool($tmpUE['moyenne']) ){ $moyenneSemestre += $tmpUE['moyenne']['moyenne']/$tmpUE['moyenne']['base'] * $tmpUE['coefficient']; $totalSemestre += $tmpUE['coefficient']; + + // le semestre est non compensable si la moyenne d'au moins un UE < 8 + if( 20*$tmpUE['moyenne']['moyenne']/$tmpUE['moyenne']['base'] < 8 ) + $semestreCompensable = false; + + // semestreCompensé est VRAI si au moins un semestre est entre 8 et 10 + if( 20*$tmpUE['moyenne']['moyenne']/$tmpUE['moyenne']['base'] >= 8 && 20*$tmpUE['moyenne']['moyenne']/$tmpUE['moyenne']['base'] < 10 ) + $semestreCompensation = true; } } @@ -1071,6 +1084,14 @@ class DataBase{ else $parcours[$iter_s]['moyenne'] = array('moyenne' => 20*$moyenneSemestre/$totalSemestre, 'base' => 20 ); + $parcours[$iter_s]['compensable'] = $semestreCompensable; + + // si le semestre est obtenu et utilise la compensation => on le définit + if( $semestreCompensable && $semestreCompensation && $parcours[$iter_s]['moyenne']['moyenne'] >= 10 ) + $parcours[$iter_s]['compensation'] = true; + else + $parcours[$iter_s]['compensation'] = false; + } return $parcours; diff --git a/page/career.php b/page/career.php index d7faa68..78659d4 100755 --- a/page/career.php +++ b/page/career.php @@ -1076,11 +1076,32 @@ if( permission('master') || permission('admin') ){ // retourne la classe correspondant à une valeur de note function noteToClass($valeur, $base){ $note = 20 * $valeur/$base; - if( $note < 8 ) return 'low'; // Ne peut pas compenser + if( $note < 8 ) return 'low'; // Ne peut pas compenser elseif( $note < 10 ) return 'med'; // Peut compenser else return 'hig'; // A la moyenne } +// retourne la classe correspondant à une couleur pour un semestre +function noteToClassSemestre($valeur, $base, $compensable, $compensation){ + $class = null; + $val = 20 * $valeur/$base; + + + if( $compensation ) // on a le semestre, avec aucun UE en dessous de 8 (ORANGE) + $class = 'med'; + + if( !$compensable ) // non compensable (au moins un UE en dessous de 8), on a pas le semestre (ROUGE) + $class = 'low'; + + // si rien de spécial, on définit avec les valeurs par défaut + if( $class == null ){ + if( $val < 10 ) $class = 'low'; // si en-dessous de 10, on a pas le semestre (ROUGE) + else $class = 'hig'; // si sup/egal à 10, on a le semestre (VERT) + } + + return $class; +} + if( (permission('master') || permission('admin')) && $etudiantOpt != null ){ include __ROOT__.'/src/svg_v2.php'; @@ -1109,10 +1130,12 @@ if( (permission('master') || permission('admin')) && $etudiantOpt != null ){ $index = count($parcoursChart); $parcoursChart[$index] = array( - 'id' => $semestre['id'], - 'nom' => $semestre['code'].' '.$semestre['semestre'], - 'mention' => $semestre['mention'], - 'moyenne' => $semestre['moyenne'] + 'id' => $semestre['id'], + 'nom' => $semestre['code'].' '.$semestre['semestre'], + 'mention' => $semestre['mention'], + 'moyenne' => $semestre['moyenne'], + 'compensable' => $semestre['compensable'], + 'compensation' => $semestre['compensation'] ); // on spécifie les moyennes des UEs @@ -1173,7 +1196,7 @@ if( (permission('master') || permission('admin')) && $etudiantOpt != null ){ if( is_bool($semestre['moyenne']) ) // si aucune note pour ce semestre on affiche 'Pas de moyenne' echo "Pas de moyenne"; else // si un moyenne, alors on l'affiche - echo "Moyenne semestre: ".number_format($semestre['moyenne']['moyenne'], 2)." / ".$semestre['moyenne']['base'].""; + echo "Moyenne semestre: ".number_format($semestre['moyenne']['moyenne'], 2)." / ".$semestre['moyenne']['base'].""; echo ''; diff --git a/src/files/admin2_export_jury.xlsx b/src/files/admin2_export_jury.xlsx index 1d7e47876c6cf289a88a8ab196c9a0af22d707a1..1ebfdb6ffb15fe9da330aeeb1b0548edb5cb6895 100644 GIT binary patch delta 1894 zcmY*a2{hDO82^uH#*$%V4XI`(J7Z)k*+LJKu}=1^iI|9K8js#Y$)qsMSVCSHdK4v% zNIaTCSz@SU%aTF%_X^p1!#n5o+;i^vzI(slz4x5&cfa44WAhCIv&VvWNdN#K0Q>=0 zu7F(!fqAwv10?#d^9P^8zs_rL1&G26SVM;sMGW@NXsBMDF@d>=g#`#+^Lk$S@U>KCI?b2 z*kNu8!(dP7WpLiUK3srSN&0K=Eh?S)=tfLLqrgcm^%Cj7@anO+y*UnGWrnGlA$uSt zIe<{|IcUlye-6fA+Fu3TOqHU?oo5L&zBG~hm7Bu}3N>0+8Kf1i8hvr-)oEuQnJfz4 zj5GH19$dQ5?ISr@AD}#Ue9Qptde#uH-G@_KE$eyZa+CT&Wl{06Yc1bmcC}^hG}(6tt^D(WXwEL4_teoymxwN2=nn-_BZU0%E9Wd z(S=R2E9uDsA1CYj9}2lPXm^C}nDiY&R>hC;7f+voy_shO|0Zcf7y) zE@B?pUofZM9fy_fi(QQ+;W8+o9c)&r@{d6FY;jh;`UM!{arG;YHwl0~jFh4fXc!zA z1GkLE`PSHlhKa?uOiNJjN-z&PQ(yGm3D78OmV2unmpmPw>?zDI#DtBnFQ2X7?EMx! z^GYs2NH8Rr>n_xw$O5IXVur#3u_{!fs(L#C);f?Da>@UOD+AATC$+I{RL&ix=5d1o z_0P13ubxdY&N=}L8W#b1N;E#W&c2JE;rB9Jc0@C&h4nnW!!bPL&S_Ob;#+kK7N<#- zbjqs}Jydl?UZfFe*Tq$05pTyOYY3EotJ>1T>t>9ye2BnxBb<##hO7PTS;2$ydro23;-wr zdYJfr3LYETrvXO6pe$BUC;*lZs>x2Mc|Wd`=$u9|H|sHFG<2m2y1|o52P}k+pjdfAQb`GH zYiIbIx`dK->HUb-AUDaLszSU z&0&KVtn_R2OrK;~!q7#N14I=Xt(|?pi+BX1G!y%~1gR9spZ(zXD`o`;S>?91?6rF*H#7NZ2HJ-1~AZuJtN-jf-=MHXlAY4a7U-7?s`dlq+)1C#6`4?Jr!ZEd#aL<+P-)to#%r^|@Wr z#_3KWQ2}aQ^hEjezTwvHXlR*evjQc0X~lfz@LS_GxZ%>w3Z*wy?UUX`YaO>XW-o+O zm!FoEV3OTLCfoo$9DFyN${kqgsZq07RBiJwlV-a)=a?G##iYqxq847CjJre_^Y6F) zKq7^DkO+%Y0g6iW+eGR_UBI&{YxM2%*@DcIAC`(TPxjP6O&%Oy^Q~At)f*8r(Rs}*qt;+>WrvexkU& zn$CthI1D}J(ajOY+x8klZ`;-(EVnHL zX(;$#3!z&h_4aSAB2%N?Dj@(+EC&GMJdyf2WaxQF#DOi$P67Lg0DyI2o}3|!w?I1z z{Qnq0OauVPq3B3rROp$=tsZ5M1@YR~e|?W`ijw2gh10!I`?jC^DFpx^v*V^8V)Sg3 e;x?!q>xdxpf=RrI+yTN%(uYyHP!XxE-G2bHIwb@E delta 4968 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 QB^1*~4jdQ^32 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 LA`C2G3ex`oz@f>9 diff --git a/src/svg_v2.php b/src/svg_v2.php index 27d7ba2..ab87925 100755 --- a/src/svg_v2.php +++ b/src/svg_v2.php @@ -75,10 +75,22 @@ function displayParcours($parcours, $selected){ // couleur du texte en fonction de la note if( !is_bool($parcours[$i]['moyenne']) ){ + $themeColor = null; $val = 20 * $parcours[$i]['moyenne']['moyenne']/$parcours[$i]['moyenne']['base']; - if( $val <= 8 ) $themeColor = '#f55b55'; - elseif( $val < 10 ) $themeColor = '#f59555'; - else $themeColor = '#2dcc70'; + + + if( $parcours[$i]['compensation'] ) // on a le semestre, avec aucun UE en dessous de 8 (ORANGE) + $themeColor = '#f59555'; + + if( !$parcours[$i]['compensable'] ) // non compensable (au moins un UE en dessous de 8), on a pas le semestre (ROUGE) + $themeColor = '#f55b55'; + + // si rien de spécial, on définit avec les valeurs par défaut + if( $themeColor == null ){ + if( $val < 10 ) $themeColor = '#f55b55'; // si en-dessous de 8, on a pas le semestre (ROUGE) + else $themeColor = '#2dcc70'; // si sup/egal à 10, on a le semestre (VERT) + } + }else // si pas de note, on met la couleur par défaut $themeColor = $normColor; @@ -98,7 +110,7 @@ function displayParcours($parcours, $selected){ // couleur du texte en fonction de la note if( !is_bool($UE['moyenne']) ){ $val = 20 * $UE['moyenne']['moyenne']/$UE['moyenne']['base']; - if( $val <= 8 ) $themeColor = '#f55b55'; + if( $val < 8 ) $themeColor = '#f55b55'; elseif( $val < 10 ) $themeColor = '#f59555'; else $themeColor = '#2dcc70'; }else // si pas de note, on met la couleur par défaut