Merge branch 'dev' into search
Merge de la branche search et dev pour la push (putain de merde)
This commit is contained in:
commit
e14e61c29a
|
@ -0,0 +1 @@
|
||||||
|
/manager/conf*.json
|
152
css/global.css
152
css/global.css
|
@ -372,9 +372,159 @@ select.active + .confirm,
|
||||||
.confirm.pamp{
|
.confirm.pamp{
|
||||||
border-color: #f55b55;
|
border-color: #f55b55;
|
||||||
color: #f55b55;
|
color: #f55b55;
|
||||||
background-image: url(../src/validate@pamp.svg);
|
background-image: url(../src/validate@pamp.svg) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@-webkit-keyframes bounce_err{
|
||||||
|
0%{
|
||||||
|
transform: translateX(5px);
|
||||||
|
-moz-transform: translateX(5px);
|
||||||
|
-webkit-transform: translateX(5px);
|
||||||
|
-ms-transform: translateX(5px);
|
||||||
|
-o-transform: translateX(5px);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
25%{
|
||||||
|
transform: translateX(-5px);
|
||||||
|
-moz-transform: translateX(-5px);
|
||||||
|
-webkit-transform: translateX(-5px);
|
||||||
|
-ms-transform: translateX(-5px);
|
||||||
|
-o-transform: translateX(-5px);
|
||||||
|
}
|
||||||
|
|
||||||
|
50%{
|
||||||
|
transform: translateX(5px);
|
||||||
|
-moz-transform: translateX(5px);
|
||||||
|
-webkit-transform: translateX(5px);
|
||||||
|
-ms-transform: translateX(5px);
|
||||||
|
-o-transform: translateX(5px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100%{
|
||||||
|
transform: translateX(0);
|
||||||
|
-moz-transform: translateX(0);
|
||||||
|
-webkit-transform: translateX(0);
|
||||||
|
-ms-transform: translateX(0);
|
||||||
|
-o-transform: translateX(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@-moz-keyframes bounce_err{
|
||||||
|
0%{
|
||||||
|
transform: translateX(5px);
|
||||||
|
-moz-transform: translateX(5px);
|
||||||
|
-webkit-transform: translateX(5px);
|
||||||
|
-ms-transform: translateX(5px);
|
||||||
|
-o-transform: translateX(5px);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
25%{
|
||||||
|
transform: translateX(-5px);
|
||||||
|
-moz-transform: translateX(-5px);
|
||||||
|
-webkit-transform: translateX(-5px);
|
||||||
|
-ms-transform: translateX(-5px);
|
||||||
|
-o-transform: translateX(-5px);
|
||||||
|
}
|
||||||
|
|
||||||
|
50%{
|
||||||
|
transform: translateX(5px);
|
||||||
|
-moz-transform: translateX(5px);
|
||||||
|
-webkit-transform: translateX(5px);
|
||||||
|
-ms-transform: translateX(5px);
|
||||||
|
-o-transform: translateX(5px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100%{
|
||||||
|
transform: translateX(0);
|
||||||
|
-moz-transform: translateX(0);
|
||||||
|
-webkit-transform: translateX(0);
|
||||||
|
-ms-transform: translateX(0);
|
||||||
|
-o-transform: translateX(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@-o-keyframes bounce_err{
|
||||||
|
0%{
|
||||||
|
transform: translateX(5px);
|
||||||
|
-moz-transform: translateX(5px);
|
||||||
|
-webkit-transform: translateX(5px);
|
||||||
|
-ms-transform: translateX(5px);
|
||||||
|
-o-transform: translateX(5px);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
25%{
|
||||||
|
transform: translateX(-5px);
|
||||||
|
-moz-transform: translateX(-5px);
|
||||||
|
-webkit-transform: translateX(-5px);
|
||||||
|
-ms-transform: translateX(-5px);
|
||||||
|
-o-transform: translateX(-5px);
|
||||||
|
}
|
||||||
|
|
||||||
|
50%{
|
||||||
|
transform: translateX(5px);
|
||||||
|
-moz-transform: translateX(5px);
|
||||||
|
-webkit-transform: translateX(5px);
|
||||||
|
-ms-transform: translateX(5px);
|
||||||
|
-o-transform: translateX(5px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100%{
|
||||||
|
transform: translateX(0);
|
||||||
|
-moz-transform: translateX(0);
|
||||||
|
-webkit-transform: translateX(0);
|
||||||
|
-ms-transform: translateX(0);
|
||||||
|
-o-transform: translateX(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes bounce_err{
|
||||||
|
0%{
|
||||||
|
transform: translateX(5px);
|
||||||
|
-moz-transform: translateX(5px);
|
||||||
|
-webkit-transform: translateX(5px);
|
||||||
|
-ms-transform: translateX(5px);
|
||||||
|
-o-transform: translateX(5px);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
25%{
|
||||||
|
transform: translateX(-5px);
|
||||||
|
-moz-transform: translateX(-5px);
|
||||||
|
-webkit-transform: translateX(-5px);
|
||||||
|
-ms-transform: translateX(-5px);
|
||||||
|
-o-transform: translateX(-5px);
|
||||||
|
}
|
||||||
|
|
||||||
|
50%{
|
||||||
|
transform: translateX(5px);
|
||||||
|
-moz-transform: translateX(5px);
|
||||||
|
-webkit-transform: translateX(5px);
|
||||||
|
-ms-transform: translateX(5px);
|
||||||
|
-o-transform: translateX(5px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100%{
|
||||||
|
transform: translateX(0);
|
||||||
|
-moz-transform: translateX(0);
|
||||||
|
-webkit-transform: translateX(0);
|
||||||
|
-ms-transform: translateX(0);
|
||||||
|
-o-transform: translateX(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* bounce animation */
|
||||||
|
.confirm.bounce_error{
|
||||||
|
animation: bounce_err .8s ease-in;
|
||||||
|
-moz-animation: bounce_err .8s ease-in;
|
||||||
|
-webkit-animation: bounce_err .8s ease-in;
|
||||||
|
-ms-animation: bounce_err .8s ease-in;
|
||||||
|
-o-animation: bounce_err .8s ease-in;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* tr@hover */
|
/* tr@hover */
|
||||||
body.trHoverActivated tr:hover td select.active + .confirm,
|
body.trHoverActivated tr:hover td select.active + .confirm,
|
||||||
body.trHoverActivated tr:hover td input.active + .confirm,
|
body.trHoverActivated tr:hover td input.active + .confirm,
|
||||||
|
|
|
@ -87,15 +87,15 @@ var connected = !( DOM.AUTH.children[0].innerHTML == 'Connexion' );
|
||||||
|
|
||||||
/* [c] gestion des classes
|
/* [c] gestion des classes
|
||||||
================================================*/
|
================================================*/
|
||||||
function addClass(el, pClass){
|
// function addClass(el, pClass){
|
||||||
if( el.className.length > 0 && el.className != pClass ) el.className = el.className + ' ' + pClass;
|
// if( el.className.length > 0 && el.className != pClass ) el.className = el.className + ' ' + pClass;
|
||||||
else el.className = pClass;
|
// else el.className = pClass;
|
||||||
}
|
// }
|
||||||
|
|
||||||
function remClass(el, pClass){
|
// function remClass(el, pClass){
|
||||||
if( el.className.indexOf(pClass) > -1 ) // si la class de l'élement contient la classe à enlever
|
// if( el.className.indexOf(pClass) > -1 ) // si la class de l'élement contient la classe à enlever
|
||||||
el.className = el.className.substr(0, el.className.indexOf(pClass)) + '' + el.className.substr(el.className.indexOf(pClass)+pClass.length);
|
// el.className = el.className.substr(0, el.className.indexOf(pClass)) + '' + el.className.substr(el.className.indexOf(pClass)+pClass.length);
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -7,3 +7,31 @@ NodeList.prototype.indexOf = HTMLCollection.prototype.indexOf = function(searche
|
||||||
// si on a rien trouvé, on retourne -1
|
// si on a rien trouvé, on retourne -1
|
||||||
return -1;
|
return -1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/* GESTION DE L'AJOUT/SUPPRESSION D'UNE CLASSE */
|
||||||
|
function addClass(el, pClass){
|
||||||
|
if( el.className.length > 0 && el.className != pClass ) el.className = el.className + ' ' + pClass;
|
||||||
|
else el.className = pClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
function remClass(el, pClass){
|
||||||
|
if( el.className.indexOf(pClass) > -1 ) // si la class de l'élement contient la classe à enlever
|
||||||
|
el.className = el.className.substr(0, el.className.indexOf(pClass)) + '' + el.className.substr(el.className.indexOf(pClass)+pClass.length);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* ANIMATION DE BOUNCE PENDANT 1 SEC */
|
||||||
|
function makeBounce(buttonElement){
|
||||||
|
// ajout de la classe
|
||||||
|
remClass(buttonElement, 'loading');
|
||||||
|
addClass(buttonElement, 'bounce_error');
|
||||||
|
addClass(buttonElement, 'pamp');
|
||||||
|
|
||||||
|
// suppression de la classe après 1 sec
|
||||||
|
setTimeout(function(){
|
||||||
|
remClass(buttonElement, 'bounce_error');
|
||||||
|
remClass(buttonElement, 'pamp');
|
||||||
|
}, 1000);
|
||||||
|
|
||||||
|
}
|
|
@ -200,6 +200,26 @@ class careerManager{
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
/********************************************/
|
||||||
|
/* modification des capitalisations d'un UE */
|
||||||
|
/********************************************/
|
||||||
|
case 'capitaliser': if( permission('admin') ){
|
||||||
|
|
||||||
|
$areSetParam = isset($request->etudiant) && isset($request->ue) && isset($request->semestre); // les arguments existent
|
||||||
|
$etudiantCheck = $areSetParam && checkParam($request->etudiant, 'utilisateur.identifiant'); // identifiant etudiant bon format
|
||||||
|
$semestreCheck = $etudiantCheck && checkParam($request->semestre, 'auto_increment_id'); // id semestre bon format
|
||||||
|
$ueCheck = $semestreCheck && checkParam($request->ue, 'auto_increment_id'); // id ue bon format
|
||||||
|
|
||||||
|
if( $ueCheck ){ // si tout les paramètres sont bons
|
||||||
|
$answer->request = DataBase::getInstance()->capitaliserUE($request->ue, $request->semestre, $request->etudiant);
|
||||||
|
}else
|
||||||
|
$answer->request = 'param_error';
|
||||||
|
|
||||||
|
}else
|
||||||
|
$answer->request = 'permission_error';
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/****************************************************/
|
/****************************************************/
|
||||||
|
|
|
@ -38,12 +38,11 @@ class DataBase{
|
||||||
/* retourne une instance de la classe */
|
/* retourne une instance de la classe */
|
||||||
public static function getInstance(){
|
public static function getInstance(){
|
||||||
if( DataBase::$instance == null ){
|
if( DataBase::$instance == null ){
|
||||||
if( $_SERVER['HTTP_HOST'] == 'sid' ) // si co en local (xdrm)
|
|
||||||
DataBase::$instance = new DataBase("localhost", "sid2", "php", "Qt358nUdyeTxLDM8");
|
// chargement de la configuration du server SQL
|
||||||
else if( $_SERVER['HTTP_HOST'] == 'localhost' ) // si co en local (autres)
|
$conf = json_decode(file_get_contents(__ROOT__.'/manager/conf.json'), true);
|
||||||
DataBase::$instance = new DataBase("localhost", "sid2", "root", "");
|
DataBase::$instance = new DataBase($conf['host'], $conf['dbname'], $conf['user'], $conf['password']);
|
||||||
else // si co en ligne
|
|
||||||
DataBase::$instance = new DataBase("mysql.hostinger.fr", "u712664263_sid", "u712664263_php", "Qt358nUdyeTxLDM8");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return DataBase::$instance;
|
return DataBase::$instance;
|
||||||
|
@ -309,6 +308,63 @@ class DataBase{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* effectue la capitalisation de l'ue
|
||||||
|
* @ue pour le semestre @semestre
|
||||||
|
* pour l'étudiant @etudiant
|
||||||
|
*/
|
||||||
|
public function capitaliserUE($ue, $semestre, $etudiant){
|
||||||
|
// on vérifie l'existence des paramètres (etudiant, semestre, ue)
|
||||||
|
if( !semestreRepo::exists($semestre) ) return 'unknown_semestre';
|
||||||
|
if( !groupRepo::forStudent($etudiant, $semestre) ) return 'unknown_user';
|
||||||
|
if( !($ueInfo=ueRepo::info($ue)) ) return 'unknown_ue';
|
||||||
|
|
||||||
|
// on vérifie que ce semestre a bien l'ue donnée
|
||||||
|
$UEs = ueRepo::forStudent($etudiant, $semestre);
|
||||||
|
$UEUIDList = array();
|
||||||
|
|
||||||
|
foreach($UEs as $UE)
|
||||||
|
if( !in_array($UE['id'], $UEUIDList) )
|
||||||
|
array_push($UEUIDList, $UE['id']);
|
||||||
|
|
||||||
|
// si l'UE n'est pas dans ce semestre, on retourne une erreur
|
||||||
|
if( !in_array($ue, $UEUIDList) ) return 'unknown_ue';
|
||||||
|
|
||||||
|
|
||||||
|
/* [1] On récupère les redoublements de ce semestre
|
||||||
|
======================================================*/
|
||||||
|
$redoublements = semestreRepo::getRedoublements($semestre, $etudiant);
|
||||||
|
|
||||||
|
/* [2] On retire ceux qui n'ont pas l'UE
|
||||||
|
======================================================*/
|
||||||
|
foreach($redoublements as $iter_s=>$SEM){
|
||||||
|
$listeUEs = ueRepo::forStudent($etudiant, $SEM['id_semestre']);
|
||||||
|
$hasUE = false;
|
||||||
|
// on vérifie que le semestre a bien l'UE
|
||||||
|
foreach($listeUEs as $UE)
|
||||||
|
if( $UE['id'] == $ue ) $hasUE = true;
|
||||||
|
|
||||||
|
// s'il n'a pas l'UE, on le supprime
|
||||||
|
if( !$hasUE ) unset($redoublements[$iter_s]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* [3] On applique les modifications
|
||||||
|
======================================================*/
|
||||||
|
$checker = true;
|
||||||
|
// on définit l'UE comme actif
|
||||||
|
$checker = $checker && ueRepo::capitalisation($semestre, $etudiant, $ue, true);
|
||||||
|
|
||||||
|
// on définit l'UE dans les autres semestres comme inactif
|
||||||
|
foreach($redoublements as $red)
|
||||||
|
$checker = $checker && ueRepo::capitalisation($red['id_semestre'], $etudiant, $ue, false);
|
||||||
|
|
||||||
|
|
||||||
|
return ($checker) ? 'success' : 'error';
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*************************************************************************************/
|
/*************************************************************************************/
|
||||||
/* _ _ _______ _____ _ _____ _____ _______ ______ _ _ _____ */
|
/* _ _ _______ _____ _ _____ _____ _______ ______ _ _ _____ */
|
||||||
/* | | | |__ __|_ _| | |_ _|/ ____| /\|__ __| ____| | | | __ \ */
|
/* | | | |__ __|_ _| | |_ _|/ ____| /\|__ __| ____| | | | __ \ */
|
||||||
|
@ -1004,9 +1060,25 @@ class DataBase{
|
||||||
|
|
||||||
|
|
||||||
$parcours = semestreRepo::getParcours($etudiantUID);
|
$parcours = semestreRepo::getParcours($etudiantUID);
|
||||||
|
|
||||||
|
// contiendra les couples [id_formation, rang] pour les semestres capitalisables
|
||||||
|
$listeSemestresCapitalisables = array();
|
||||||
|
|
||||||
/* [1] Chaque semestre
|
/* [1] Chaque semestre
|
||||||
==========================*/
|
==========================*/
|
||||||
foreach($parcours as $iter_s=>$semestre){
|
foreach($parcours as $iter_s=>$semestre){
|
||||||
|
// on récupère les id des UEs non pris en compte
|
||||||
|
$inactiveUE = explode(',', $semestre['inactive']);
|
||||||
|
// on supprime les entrées vides
|
||||||
|
foreach($inactiveUE as $i=>$UE)
|
||||||
|
if( strlen($UE) == 0 )
|
||||||
|
unset($inactiveUE[$i]);
|
||||||
|
|
||||||
|
// si des UEs non pris en compte, on ajoute le rang+formation à la liste
|
||||||
|
if( count($inactiveUE) > 0 )
|
||||||
|
if( !in_array( array($semestre['id_formation'], $semestre['rang']), $listeSemestresCapitalisables) )
|
||||||
|
array_push($listeSemestresCapitalisables, array($semestre['id_formation'], $semestre['rang']));
|
||||||
|
|
||||||
$parcours[$iter_s]['UEs'] = ueRepo::forStudent($etudiantUID, $semestre['id']);
|
$parcours[$iter_s]['UEs'] = ueRepo::forStudent($etudiantUID, $semestre['id']);
|
||||||
|
|
||||||
/* CALCUL DE MOYENNE DU SEMESTRE */
|
/* CALCUL DE MOYENNE DU SEMESTRE */
|
||||||
|
@ -1060,7 +1132,8 @@ class DataBase{
|
||||||
$parcours[$iter_s]['UEs'][$iter_ue]['moyenne'] = array('moyenne' => 20*$moyenneUE/$totalUE, 'base' => 20 );
|
$parcours[$iter_s]['UEs'][$iter_ue]['moyenne'] = array('moyenne' => 20*$moyenneUE/$totalUE, 'base' => 20 );
|
||||||
|
|
||||||
|
|
||||||
// on complète la moyenne du semestre si l'UE a une moyenne
|
// on complète la moyenne du semestre
|
||||||
|
// SI l'UE a une moyenne
|
||||||
$tmpUE = $parcours[$iter_s]['UEs'][$iter_ue];
|
$tmpUE = $parcours[$iter_s]['UEs'][$iter_ue];
|
||||||
|
|
||||||
if( !is_bool($tmpUE['moyenne']) ){
|
if( !is_bool($tmpUE['moyenne']) ){
|
||||||
|
@ -1080,10 +1153,15 @@ class DataBase{
|
||||||
|
|
||||||
|
|
||||||
/* ENREGISTREMENT DE LA MOYENNE DU SEMESTRE */
|
/* ENREGISTREMENT DE LA MOYENNE DU SEMESTRE */
|
||||||
|
// on enregistre les valeurs du calcul pour pouvoir calculer avec compensation
|
||||||
|
$parcours[$iter_s]['calculMoyenne'] = array( 'sum' => $moyenneSemestre, 'count' => $totalSemestre );
|
||||||
|
|
||||||
if( $totalSemestre == 0 ) // si la somme vaut 0, on retourne FALSE
|
if( $totalSemestre == 0 ) // si la somme vaut 0, on retourne FALSE
|
||||||
$parcours[$iter_s]['moyenne'] = false;
|
$parcours[$iter_s]['moyenne'] = false;
|
||||||
else
|
else{
|
||||||
|
// on enregistre la moyenne
|
||||||
$parcours[$iter_s]['moyenne'] = array('moyenne' => 20*$moyenneSemestre/$totalSemestre, 'base' => 20 );
|
$parcours[$iter_s]['moyenne'] = array('moyenne' => 20*$moyenneSemestre/$totalSemestre, 'base' => 20 );
|
||||||
|
}
|
||||||
|
|
||||||
$parcours[$iter_s]['compensable'] = $semestreCompensable;
|
$parcours[$iter_s]['compensable'] = $semestreCompensable;
|
||||||
|
|
||||||
|
@ -1093,6 +1171,80 @@ class DataBase{
|
||||||
else
|
else
|
||||||
$parcours[$iter_s]['compensation'] = false;
|
$parcours[$iter_s]['compensation'] = false;
|
||||||
|
|
||||||
|
// on met la liste des id d'ue inactifs sous forme de tableau
|
||||||
|
$parcours[$iter_s]['inactive'] = $inactiveUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* LISTE DES UES CAPITALISÉES PAR SEMESTRES REGROUPÉS (FORMATION+RANG) */
|
||||||
|
// On ajoute toutes les UE capitalisées
|
||||||
|
foreach($listeSemestresCapitalisables as $i=>$formationRang){
|
||||||
|
|
||||||
|
// pour cette formation+rang, on récupère toutes les UEs
|
||||||
|
$listeUEs = array();
|
||||||
|
$UEUIDS = array();
|
||||||
|
$listeSemestresIndexes = array();
|
||||||
|
|
||||||
|
foreach($parcours as $iter_s=>$semestre){
|
||||||
|
|
||||||
|
// si fait partie de la formation+rang courante
|
||||||
|
if( $formationRang == array( $semestre['id_formation'], $semestre['rang'] ) ){
|
||||||
|
|
||||||
|
// on ajoute l'index du semestre à la liste
|
||||||
|
array_push($listeSemestresIndexes, $iter_s);
|
||||||
|
|
||||||
|
// on ajoute chaque UE de ce semestre s'il est actif
|
||||||
|
foreach($semestre['UEs'] as $UE)
|
||||||
|
if( !in_array($UE['id'], $semestre['inactive']) ){
|
||||||
|
if( array_search($UE['id'], $UEUIDS) === false ){
|
||||||
|
// pour le premier UE (capitalisé) on s'assure de lui attribuer la capitalisation
|
||||||
|
DataBase::getInstance()->capitaliserUE($UE['id'], $semestre['id'], $etudiantUID);
|
||||||
|
array_push( $listeUEs, $UE );
|
||||||
|
array_push( $UEUIDS, $UE['id'] );
|
||||||
|
}//else // si UE existe déjà pour formation+rang, on créé la capitalisation du semestre (on le désactive)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// variables utiles pour la moyenne
|
||||||
|
$moyenneSemestre = 0; $totalSemestre = 0;
|
||||||
|
$semestreCompensable = true; $semestreCompensation = true;
|
||||||
|
|
||||||
|
// pour chaque UE capitalisée
|
||||||
|
foreach($listeUEs as $iter_ue=>$UE){
|
||||||
|
// si l'UE a une moyenne
|
||||||
|
if( !is_bool($UE['moyenne']) ){
|
||||||
|
$moyenneSemestre += $UE['moyenne']['moyenne']/$UE['moyenne']['base'] * $UE['coefficient'];
|
||||||
|
$totalSemestre += $UE['coefficient'];
|
||||||
|
|
||||||
|
// le semestre est non compensable si la moyenne d'au moins un UE < 8
|
||||||
|
if( 20*$UE['moyenne']['moyenne']/$UE['moyenne']['base'] < 8 )
|
||||||
|
$semestreCompensable = false;
|
||||||
|
|
||||||
|
// semestreCompensé est VRAI si au moins un semestre est entre 8 et 10
|
||||||
|
if( 20*$UE['moyenne']['moyenne']/$UE['moyenne']['base'] >= 8 && 20*$UE['moyenne']['moyenne']/$UE['moyenne']['base'] < 10 )
|
||||||
|
$semestreCompensation = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// attribution des moyennes aux semestres concernés
|
||||||
|
foreach($listeSemestresIndexes as $index){
|
||||||
|
if( $totalSemestre > 0 )
|
||||||
|
$parcours[$index]['moyenne'] = array( 'moyenne' => 20*$moyenneSemestre/$totalSemestre, 'base' => 20 );
|
||||||
|
else
|
||||||
|
$parcours[$index]['moyenne'] = array( 'moyenne' => 0, 'base' => 20 );
|
||||||
|
|
||||||
|
// on met à jour le semestre compensable, et compensation
|
||||||
|
$parcours[$index]['compensable'] = $semestreCompensable;
|
||||||
|
$parcours[$index]['compensation'] = $semestreCompensation;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $parcours;
|
return $parcours;
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
<?php header('Location: ../index.php'); ?>
|
|
@ -71,7 +71,7 @@ class controleRepo{
|
||||||
$ctrlInfo = $getControleInfo->fetch();
|
$ctrlInfo = $getControleInfo->fetch();
|
||||||
|
|
||||||
if( !is_bool($ctrlInfo) ) // on retourne le résultat en supprimant les doublons à indices numériques s'il est ok
|
if( !is_bool($ctrlInfo) ) // on retourne le résultat en supprimant les doublons à indices numériques s'il est ok
|
||||||
return DataBase::delNumeric( $ctrlInfo, true );
|
return $ctrlInfo;
|
||||||
else
|
else
|
||||||
return array();
|
return array();
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,7 +44,7 @@ class groupRepo{
|
||||||
$getGroupeInfo = DataBase::getPDO()->prepare("SELECT id_groupe as id, nom FROM groupe WHERE id_groupe = :groupeUID");
|
$getGroupeInfo = DataBase::getPDO()->prepare("SELECT id_groupe as id, nom FROM groupe WHERE id_groupe = :groupeUID");
|
||||||
$getGroupeInfo->execute(array( ':groupeUID' => $groupeUID ));
|
$getGroupeInfo->execute(array( ':groupeUID' => $groupeUID ));
|
||||||
|
|
||||||
return DataBase::delNumeric( $getGroupeInfo->fetch(), true );
|
return $getGroupeInfo->fetch();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -232,7 +232,7 @@ class groupRepo{
|
||||||
ORDER BY g.nom");
|
ORDER BY g.nom");
|
||||||
$getGroupe->execute(array( ':etudiant' => $etudiant, ':semestre' => $semestre ));
|
$getGroupe->execute(array( ':etudiant' => $etudiant, ':semestre' => $semestre ));
|
||||||
|
|
||||||
return DataBase::delNumeric( $getGroupe->fetch(), true );
|
return $getGroupe->fetch();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
<?php header('Location: ../../index.php'); ?>
|
|
@ -41,7 +41,7 @@ class moduleRepo{
|
||||||
$getModuleInfo->execute(array( ':moduleUID' => $moduleUID ));
|
$getModuleInfo->execute(array( ':moduleUID' => $moduleUID ));
|
||||||
|
|
||||||
// on retourne le résultat en supprimant les doublons à indices numériques
|
// on retourne le résultat en supprimant les doublons à indices numériques
|
||||||
return DataBase::delNumeric( $getModuleInfo->fetch(), true );
|
return $getModuleInfo->fetch();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -52,7 +52,7 @@ class noteRepo{
|
||||||
));
|
));
|
||||||
|
|
||||||
// on retourne le résultat en supprimant les doublons à indices numériques
|
// on retourne le résultat en supprimant les doublons à indices numériques
|
||||||
return DataBase::delNumeric( $getUtilisateurInfo->fetch(), true );
|
return $getUtilisateurInfo->fetch();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -189,7 +189,7 @@ class semestreRepo{
|
||||||
$getSemestreInfo->execute(array( ':semestreUID' => $semestreUID ));
|
$getSemestreInfo->execute(array( ':semestreUID' => $semestreUID ));
|
||||||
|
|
||||||
// on retourne le résultat en supprimant les doublons à indices numériques
|
// on retourne le résultat en supprimant les doublons à indices numériques
|
||||||
return DataBase::delNumeric( $getSemestreInfo->fetch(), true );
|
return $getSemestreInfo->fetch();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -258,7 +258,7 @@ class semestreRepo{
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static function getParcours($etudiant){
|
public static function getParcours($etudiant){
|
||||||
$getSemestreListe = DataBase::getPDO()->prepare("SELECT DISTINCT s.id_semestre as id, f.id_formation, f.code, f.nom as formation, f.nb_semestres, s.nom as semestre, s.rang, s.annee, app.mention
|
$getSemestreListe = DataBase::getPDO()->prepare("SELECT DISTINCT s.id_semestre as id, f.id_formation, f.code, f.nom as formation, f.nb_semestres, s.nom as semestre, s.rang, s.annee, app.mention, app.inactive
|
||||||
FROM formation as f, semestre as s, appartenance as app
|
FROM formation as f, semestre as s, appartenance as app
|
||||||
WHERE s.id_formation = f.id_formation
|
WHERE s.id_formation = f.id_formation
|
||||||
AND app.id_semestre = s.id_semestre
|
AND app.id_semestre = s.id_semestre
|
||||||
|
@ -444,7 +444,7 @@ class semestreRepo{
|
||||||
FROM semestre as s, mcc_ue
|
FROM semestre as s, mcc_ue
|
||||||
GROUP BY s.annee");
|
GROUP BY s.annee");
|
||||||
|
|
||||||
return DataBase::delNumeric( $getLastMccYear->fetch(), true );
|
return $getLastMccYear->fetch();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -568,4 +568,47 @@ class semestreRepo{
|
||||||
return $prev;
|
return $prev;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* RETOURNE LES SEMESTRES EQUIVALENTS (REDOUBLÉS)
|
||||||
|
*
|
||||||
|
* @semestre<int> UID du semestre de base
|
||||||
|
* @etudiant<String> UID de l'étudiant en question
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @return redoublements<Array> Retourne un tableau contenant les UIDs des semestre équivalents
|
||||||
|
* @return error<Boolean> Retourne FAUX si une erreur occure
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public static function getRedoublements($semestre, $etudiant){
|
||||||
|
/* [1] On récupère les informations du semestre
|
||||||
|
=================================================*/
|
||||||
|
$getSemestreInfo = DataBase::getPDO()->prepare("SELECT DISTINCT s.*
|
||||||
|
FROM semestre as s, appartenance as app
|
||||||
|
WHERE s.id_semestre = app.id_semestre
|
||||||
|
AND s.id_semestre = :semestre
|
||||||
|
AND app.id_etudiant = :etudiant");
|
||||||
|
$getSemestreInfo->execute(array( ':semestre' => $semestre, ':etudiant' => $etudiant ));
|
||||||
|
|
||||||
|
// aucun résultat, on retourne une erreur
|
||||||
|
if( !($semestreInfo=$getSemestreInfo->fetch()) ) return 'unknown_semestre';
|
||||||
|
|
||||||
|
/* [2] On cherche les semestre redoublés
|
||||||
|
=================================================*/
|
||||||
|
$getRedoublements = DataBase::getPDO()->prepare("SELECT s.id_semestre
|
||||||
|
FROM semestre as s, appartenance as app
|
||||||
|
WHERE s.id_semestre = app.id_semestre
|
||||||
|
AND s.id_formation = :formation
|
||||||
|
AND s.rang = :rang
|
||||||
|
AND app.id_etudiant = :etudiant
|
||||||
|
AND s.id_semestre <> :semestre
|
||||||
|
ORDER BY s.annee, s.rang ASC");
|
||||||
|
$getRedoublements->execute(array(
|
||||||
|
':formation' => $semestreInfo['id_formation'],
|
||||||
|
':rang' => $semestreInfo['rang'],
|
||||||
|
':etudiant' => $etudiant,
|
||||||
|
':semestre' => $semestre
|
||||||
|
));
|
||||||
|
|
||||||
|
return $getRedoublements->fetchAll();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -41,7 +41,7 @@ class ueRepo extends DBAccess{
|
||||||
$getUEInfo->execute(array( ':UEUID' => $UEUID ));
|
$getUEInfo->execute(array( ':UEUID' => $UEUID ));
|
||||||
|
|
||||||
// on retourne le résultat en supprimant les doublons à indices numériques
|
// on retourne le résultat en supprimant les doublons à indices numériques
|
||||||
return DataBase::delNumeric( $getUEInfo->fetch(), true );
|
return $getUEInfo->fetch();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ class ueRepo extends DBAccess{
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static function forStudent($etudiant, $semestre){
|
public static function forStudent($etudiant, $semestre){
|
||||||
// on récupère les modules
|
// on récupère les UEs
|
||||||
$getUesForStudent = DataBase::getPDO()->prepare("SELECT DISTINCT ue.id_ue as id, s.id_semestre, s.nom as semestre, s.annee, ue.nom, ue.libelle, mcc_ue.coefficient
|
$getUesForStudent = DataBase::getPDO()->prepare("SELECT DISTINCT ue.id_ue as id, s.id_semestre, s.nom as semestre, s.annee, ue.nom, ue.libelle, mcc_ue.coefficient
|
||||||
FROM appartenance as app, semestre as s, mcc_ue, ue
|
FROM appartenance as app, semestre as s, mcc_ue, ue
|
||||||
WHERE app.id_semestre = s.id_semestre
|
WHERE app.id_semestre = s.id_semestre
|
||||||
|
@ -247,4 +247,62 @@ class ueRepo extends DBAccess{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* DEFINIT SI UN UE EST PRIS EN COMPTE OU NON (CAPITALISATION)
|
||||||
|
*
|
||||||
|
* @semestre<int> UID du semestre en question
|
||||||
|
* @etudiant<String> UID de l'étudiant en question
|
||||||
|
* @ue<int> UID de l'UE en question
|
||||||
|
* @active<Boolean> VRAI si on veut qu'il soit pris en compte, NON sinon
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @return state<Boolean> VRAI si les changements sont pris en compte, sinon FAUX
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public static function capitalisation($semestre, $etudiant, $ue, $active){
|
||||||
|
/* [1] On récupère l'appartenance
|
||||||
|
==========================================================================*/
|
||||||
|
$getUEState = DataBase::getPDO()->prepare("SELECT *
|
||||||
|
FROM appartenance
|
||||||
|
WHERE id_semestre = :semestre
|
||||||
|
AND id_etudiant = :etudiant");
|
||||||
|
$getUEState->execute(array( ':semestre' => $semestre, ':etudiant' => $etudiant ));
|
||||||
|
|
||||||
|
// si on trouve aucune appartenance, on retourne FAUX
|
||||||
|
if( !($ueState=$getUEState->fetch()) ) return false;
|
||||||
|
|
||||||
|
$stateArray = explode(',', $ueState['inactive'] );
|
||||||
|
// on supprime les entrées vides
|
||||||
|
foreach($stateArray as $i=>$state)
|
||||||
|
if( strlen($state) == 0 )
|
||||||
|
unset($stateArray[$i]);
|
||||||
|
|
||||||
|
/* [2] On met à jour "inactive" pour enlever ou mettre l'UE
|
||||||
|
==========================================================================*/
|
||||||
|
if( $active && in_array($ue, $stateArray) ) // si on doit enlever l'ue et qu'il y est
|
||||||
|
array_splice($stateArray, array_search($ue, $stateArray), 1 ); // => on enleve l'ue
|
||||||
|
|
||||||
|
if( !$active && !in_array($ue, $stateArray) ) // si on doit ajouter l'ue et qu'il n'y est pas encore
|
||||||
|
array_push($stateArray, $ue); // => on ajoute l'ue
|
||||||
|
|
||||||
|
$stateString = implode(',', $stateArray);
|
||||||
|
|
||||||
|
/* [3] On met à jour dans la base de données
|
||||||
|
==========================================================================*/
|
||||||
|
$setUEState = DataBase::getPDO()->prepare("UPDATE appartenance
|
||||||
|
SET inactive = :uestate
|
||||||
|
WHERE id_appartenance = :appartenance");
|
||||||
|
$setUEState->execute(array( ':uestate' => $stateString, ':appartenance' => $ueState['id_appartenance'] ));
|
||||||
|
|
||||||
|
/* [4] On vérifie que la modification a bien été faite
|
||||||
|
==========================================================================*/
|
||||||
|
$getVerifState = DataBase::getPDO()->prepare("SELECT inactive FROM appartenance WHERE id_appartenance = :appartenance");
|
||||||
|
$getVerifState->execute(array( ':appartenance' => $ueState['id_appartenance'] ));
|
||||||
|
|
||||||
|
if( !($verifState=$getVerifState->fetch()) ) return false;
|
||||||
|
|
||||||
|
return $verifState['inactive'] == $stateString;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -85,7 +85,7 @@ class userRepo{
|
||||||
$getUtilisateurInfo->execute(array( ':utilisateurUID' => $utilisateurUID ));
|
$getUtilisateurInfo->execute(array( ':utilisateurUID' => $utilisateurUID ));
|
||||||
|
|
||||||
// on retourne le résultat en supprimant les doublons à indices numériques
|
// on retourne le résultat en supprimant les doublons à indices numériques
|
||||||
return DataBase::delNumeric( $getUtilisateurInfo->fetch(), true );
|
return $getUtilisateurInfo->fetch();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -226,6 +226,8 @@ if( document.querySelector('#CONTAINER section[name=controlesenseignants]') != n
|
||||||
|
|
||||||
API.send(request, function(response){ // on gère la réponse de API, si déplacement effectué, on recharge la page
|
API.send(request, function(response){ // on gère la réponse de API, si déplacement effectué, on recharge la page
|
||||||
if( response.request == 'success' ) reload();
|
if( response.request == 'success' ) reload();
|
||||||
|
// si réponse erreur, on le signale physiquement
|
||||||
|
else makeBounce(obj.button);
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -270,6 +272,7 @@ if( document.querySelector('#CONTAINER section[name=controlesenseignants]') != n
|
||||||
API.send(request, function(response){ // on gère la réponse de API
|
API.send(request, function(response){ // on gère la réponse de API
|
||||||
if( response.request == 'success' ) // si on a une réponse positive, on incrémente le nombre de succès
|
if( response.request == 'success' ) // si on a une réponse positive, on incrémente le nombre de succès
|
||||||
reload();
|
reload();
|
||||||
|
else makeBounce(e.target);
|
||||||
});
|
});
|
||||||
|
|
||||||
}, false);
|
}, false);
|
||||||
|
@ -369,6 +372,8 @@ if( document.querySelector('#CONTAINER section[name=allcontroles]') != null ){ /
|
||||||
|
|
||||||
API.send(request, function(response){ // on gère la réponse de API, si déplacement effectué, on recharge la page
|
API.send(request, function(response){ // on gère la réponse de API, si déplacement effectué, on recharge la page
|
||||||
if( response.request == 'success' ) reload();
|
if( response.request == 'success' ) reload();
|
||||||
|
// si réponse erreur, on le signale physiquement
|
||||||
|
else makeBounce(obj.button);
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -413,6 +418,8 @@ if( document.querySelector('#CONTAINER section[name=allcontroles]') != null ){ /
|
||||||
API.send(request, function(response){ // on gère la réponse de API
|
API.send(request, function(response){ // on gère la réponse de API
|
||||||
if( response.request == 'success' ) // si on a une réponse positive, on incrémente le nombre de succès
|
if( response.request == 'success' ) // si on a une réponse positive, on incrémente le nombre de succès
|
||||||
reload();
|
reload();
|
||||||
|
// si réponse erreur, on le signale physiquement
|
||||||
|
else makeBounce(e.target);
|
||||||
});
|
});
|
||||||
|
|
||||||
}, false);
|
}, false);
|
||||||
|
@ -479,9 +486,9 @@ if( exportJury != null ){
|
||||||
if( answer2.request == 'success' ){ // le fichier a bien été généré, on lance le téléchargement
|
if( answer2.request == 'success' ){ // le fichier a bien été généré, on lance le téléchargement
|
||||||
document.location = answer2.pathfile;
|
document.location = answer2.pathfile;
|
||||||
reload();
|
reload();
|
||||||
}
|
}else makeBounce(e.target);
|
||||||
});
|
});
|
||||||
}
|
}else makeBounce(e.target);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
@ -543,13 +550,19 @@ if( importJury != null ){
|
||||||
if( f.request == 'success' ){
|
if( f.request == 'success' ){
|
||||||
console.log('liste intégrée');
|
console.log('liste intégrée');
|
||||||
reload();
|
reload();
|
||||||
}else console.log('integration error');
|
}else{
|
||||||
|
console.log('integration error');
|
||||||
|
makeBounce(e.target);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
}else console.log('import error');
|
}else{
|
||||||
|
console.log('import error');
|
||||||
|
makeBounce(e.target);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}else makeBounce(e.target);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -591,6 +604,7 @@ if( publicationControles.length > 0 ){
|
||||||
// on envoie la requête vers l'API
|
// on envoie la requête vers l'API
|
||||||
API.send(request, function(answer){
|
API.send(request, function(answer){
|
||||||
if( answer.request == 'success' ) reload();
|
if( answer.request == 'success' ) reload();
|
||||||
|
else makeBounce(e.target);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}, false);
|
}, false);
|
||||||
|
@ -708,13 +722,19 @@ if( importNotes.length > 0 ){
|
||||||
if( f.request == 'success' ){
|
if( f.request == 'success' ){
|
||||||
console.log('liste intégrée');
|
console.log('liste intégrée');
|
||||||
reload();
|
reload();
|
||||||
}else console.log('integration error');
|
}else{
|
||||||
|
console.log('integration error');
|
||||||
|
makeBounce(boutonImport);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
}else console.log('import error');
|
}else{
|
||||||
|
console.log('import error');
|
||||||
|
makeBounce(boutonImport);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}else makeBounce(boutonImport);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -726,8 +746,38 @@ if( importNotes.length > 0 ){
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/****************************************/
|
||||||
|
/* GESTION DE LA CAPITALISATION D'UN UE */
|
||||||
|
/****************************************/
|
||||||
|
var capitalisationUE = document.querySelectorAll('.capitalisation_ue[data-stre][data-ue][data-etu]');
|
||||||
|
|
||||||
|
// si il y en a sur la page
|
||||||
|
if( capitalisationUE.length > 0 ){
|
||||||
|
|
||||||
|
for( var i = 0 ; i < capitalisationUE.length ; i++ ){
|
||||||
|
|
||||||
|
capitalisationUE[i].addEventListener('click', function(e){
|
||||||
|
|
||||||
|
// on créé la requête
|
||||||
|
request = {
|
||||||
|
level_0: 'career',
|
||||||
|
level_1: 'capitaliser',
|
||||||
|
semestre: e.target.dataset.stre,
|
||||||
|
ue: e.target.dataset.ue,
|
||||||
|
etudiant: e.target.dataset.etu
|
||||||
|
};
|
||||||
|
|
||||||
|
// on envoie la requête
|
||||||
|
API.send(request, function(answer){
|
||||||
|
if( answer.request == 'success' ) reload();
|
||||||
|
else makeBounce(e.target);
|
||||||
|
});
|
||||||
|
|
||||||
|
}, false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -85,6 +85,7 @@ if( canMoveStudents ){ // si c'set l'admin
|
||||||
// on envoie la requête
|
// on envoie la requête
|
||||||
API.send(request, function(answer){
|
API.send(request, function(answer){
|
||||||
if( answer.request == 'success' ) reload();
|
if( answer.request == 'success' ) reload();
|
||||||
|
else makeBounce(e.target);
|
||||||
});
|
});
|
||||||
|
|
||||||
}, false);
|
}, false);
|
||||||
|
@ -231,9 +232,9 @@ if( exportInscrits != null ){
|
||||||
if( answer2.request == 'success' ){ // le fichier a bien été généré, on lance le téléchargement
|
if( answer2.request == 'success' ){ // le fichier a bien été généré, on lance le téléchargement
|
||||||
document.location = answer2.pathfile;
|
document.location = answer2.pathfile;
|
||||||
reload();
|
reload();
|
||||||
}
|
}else makeBounce(e.target);
|
||||||
});
|
});
|
||||||
}
|
}else makeBounce(e.target);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
@ -282,24 +283,31 @@ if( importInscrits != null ){
|
||||||
/* [2] LECTURE DU FICHIER
|
/* [2] LECTURE DU FICHIER
|
||||||
=======================================*/
|
=======================================*/
|
||||||
var request = { level_0: 'excel', level_1: 'import_inscrits' };
|
var request = { level_0: 'excel', level_1: 'import_inscrits' };
|
||||||
API.send(request, function(e){
|
API.send(request, function(ex){
|
||||||
console.log('[2] PARSE=>'+e.request);
|
console.log('[2] PARSE=>'+ex.request);
|
||||||
if( e.request == 'success' ){
|
if( ex.request == 'success' ){
|
||||||
|
|
||||||
/* [3] INTÉGRATION À LA BDD
|
/* [3] INTÉGRATION À LA BDD
|
||||||
=======================================*/
|
=======================================*/
|
||||||
requestIntegration = { level_0: 'groups', level_1: 'addUserlist', rang: rang, annee: annee, formationList: e.formationList };
|
requestIntegration = { level_0: 'groups', level_1: 'addUserlist', rang: rang, annee: annee, formationList: ex.formationList };
|
||||||
API.send( requestIntegration, function(f){
|
API.send( requestIntegration, function(f){
|
||||||
console.log('[3] INTEGRATION=>'+f.request);
|
console.log('[3] INTEGRATION=>'+f.request);
|
||||||
if( f.request == 'success' ){
|
if( f.request == 'success' ){
|
||||||
console.log('liste intégrée');
|
console.log('liste intégrée');
|
||||||
reload();
|
reload();
|
||||||
}else console.log('integration error');
|
}else{
|
||||||
|
console.log('integration error');
|
||||||
|
makeBounce(e.target.parentNode);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
}else console.log('import error');
|
}else{
|
||||||
|
console.log('import error');
|
||||||
|
makeBounce(e.target.parentNode);
|
||||||
|
console.log( e.target );
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}else makeBounce(e.target.parentNode);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -158,13 +158,13 @@ if( importMcc != null ){
|
||||||
if( f.request == 'success' ){
|
if( f.request == 'success' ){
|
||||||
console.log('mcc intégré');
|
console.log('mcc intégré');
|
||||||
reload();
|
reload();
|
||||||
}
|
}else makeBounce(e.target);
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}else makeBounce(e.target);
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}else makeBounce(e.target);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -217,6 +217,7 @@ if( creerSemestre != null ){ // si la page est présente
|
||||||
API.send(request, function(e){
|
API.send(request, function(e){
|
||||||
if( e.request == 'success' )
|
if( e.request == 'success' )
|
||||||
reload();
|
reload();
|
||||||
|
else makeBounce(e.target);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
@ -251,6 +252,7 @@ if( cloneMCC != null ){ // si la page est présente
|
||||||
API.send(request, function(e){
|
API.send(request, function(e){
|
||||||
if( e.request == 'success' )
|
if( e.request == 'success' )
|
||||||
reload();
|
reload();
|
||||||
|
else makeBounce(e.target);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -138,8 +138,11 @@ if( roleSection != null ){
|
||||||
};
|
};
|
||||||
|
|
||||||
API.send(request, function(answer){
|
API.send(request, function(answer){
|
||||||
if( answer.request != 'success' ) console.log('erreur de changement de rôle (admin)');
|
if( answer.request != 'success' ){
|
||||||
reload();
|
console.log('erreur de changement de rôle (admin)');
|
||||||
|
makeBounce(e.target);
|
||||||
|
}else
|
||||||
|
reload();
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -169,8 +172,11 @@ if( roleSection != null ){
|
||||||
};
|
};
|
||||||
|
|
||||||
API.send(request, function(answer){
|
API.send(request, function(answer){
|
||||||
if( answer.request != 'success' ) console.log('erreur de changement de rôle (référent)');
|
if( answer.request != 'success' ){
|
||||||
reload();
|
console.log('erreur de changement de rôle (référent)');
|
||||||
|
makeBounce(e.target);
|
||||||
|
}else
|
||||||
|
reload();
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -206,8 +212,11 @@ if( roleSection != null ){
|
||||||
};
|
};
|
||||||
|
|
||||||
API.send(request, function(answer){
|
API.send(request, function(answer){
|
||||||
if( answer.request != 'success' ) console.log('erreur de changement de rôle');
|
if( answer.request != 'success' ){
|
||||||
reload();
|
console.log('erreur de changement de rôle');
|
||||||
|
makeBounce(e.target);
|
||||||
|
}else
|
||||||
|
reload();
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -241,8 +250,11 @@ if( roleSection != null ){
|
||||||
};
|
};
|
||||||
|
|
||||||
API.send(request, function(answer){
|
API.send(request, function(answer){
|
||||||
if( answer.request != 'success' ) console.log('erreur de changement de rôle');
|
if( answer.request != 'success' ){
|
||||||
reload();
|
console.log('erreur de changement de rôle');
|
||||||
|
makeBounce(e.target);
|
||||||
|
}else
|
||||||
|
reload();
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -273,8 +285,11 @@ if( roleSection != null ){
|
||||||
};
|
};
|
||||||
|
|
||||||
API.send(request, function(answer){
|
API.send(request, function(answer){
|
||||||
if( answer.request != 'success' ) console.log('erreur de changement de rôle');
|
if( answer.request != 'success' ){
|
||||||
reload();
|
console.log('erreur de changement de rôle');
|
||||||
|
makeBounce(e.target);
|
||||||
|
}else
|
||||||
|
reload();
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -320,7 +335,7 @@ if( changeYear.select != null && changeYear.button != null ){
|
||||||
if( answer.request == 'success' ){
|
if( answer.request == 'success' ){
|
||||||
reload(); // on recharge la page
|
reload(); // on recharge la page
|
||||||
updateCurrentYear(request.year);
|
updateCurrentYear(request.year);
|
||||||
}
|
}else makeBounce(e.target);
|
||||||
});
|
});
|
||||||
|
|
||||||
}, false);
|
}, false);
|
||||||
|
|
|
@ -440,9 +440,9 @@ elseif( permission('teacher') ){ // si enseignant et qu'un contrôle est spécif
|
||||||
|
|
||||||
echo "<td>";
|
echo "<td>";
|
||||||
if( $user['note'] != null ) // s'il a déjà une note, on la met par défaut
|
if( $user['note'] != null ) // s'il a déjà une note, on la met par défaut
|
||||||
echo "<input class='saisie_note' data-ctrl='".$answer->controle['id']."' type='text' step='.25' min='0' max='".$answer->controle['base']."' placeholder='Note' value='".$user['note']."'>";
|
echo "<input class='saisie_note' data-ctrl='".$answer->controle['id']."' type='text' min='0' max='".$answer->controle['base']."' placeholder='Note' value='".$user['note']."'>";
|
||||||
else // sinon on laisse le champ vide
|
else // sinon on laisse le champ vide
|
||||||
echo "<input class='saisie_note' data-ctrl='".$answer->controle['id']."' type='text' step='.25' min='0' max='".$answer->controle['base']."' placeholder='Note'>";
|
echo "<input class='saisie_note' data-ctrl='".$answer->controle['id']."' type='text' min='0' max='".$answer->controle['base']."' placeholder='Note'>";
|
||||||
|
|
||||||
echo "<div class='confirm'>enregistrer</div>";
|
echo "<div class='confirm'>enregistrer</div>";
|
||||||
echo "</td>";
|
echo "</td>";
|
||||||
|
@ -1118,6 +1118,8 @@ if( (permission('master') || permission('admin')) && $etudiantOpt != null ){
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
echo "<section name='studentcase' data-title='Dossier étudiant' class='basic'>";
|
echo "<section name='studentcase' data-title='Dossier étudiant' class='basic'>";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// on récupère $semestreOpt original
|
// on récupère $semestreOpt original
|
||||||
$semestreOpt = $semestreOptBis;
|
$semestreOpt = $semestreOptBis;
|
||||||
|
|
||||||
|
@ -1142,13 +1144,16 @@ if( (permission('master') || permission('admin')) && $etudiantOpt != null ){
|
||||||
$parcoursChart[$index]['UEs'] = array();
|
$parcoursChart[$index]['UEs'] = array();
|
||||||
foreach($semestre['UEs'] as $UE){
|
foreach($semestre['UEs'] as $UE){
|
||||||
array_push( $parcoursChart[$index]['UEs'],
|
array_push( $parcoursChart[$index]['UEs'],
|
||||||
array( 'id' => $UE['id'], 'moyenne' => $UE['moyenne'] )
|
array( 'id' => $UE['id'], 'moyenne' => $UE['moyenne'], 'capitalisation' => !in_array($UE['id'], $semestre['inactive']) )
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* ON GENERE LE <SVG> DU PARCOURS */
|
/* ON GENERE LE <SVG> DU PARCOURS */
|
||||||
displayParcours( $parcoursChart, $semestreOpt);
|
displayParcours( $parcoursChart, $semestreOpt);
|
||||||
|
|
||||||
|
// echo "<br><div data-etu='".$etudiantOpt."' class='confirm active center' style='background-color:#fff'>Importer le dossier<input type='file' id='import_dossier'></div>";
|
||||||
|
|
||||||
|
|
||||||
// pour chaque semestres (tous si aucun semestreOpt, sinon uniquement le selectionné)
|
// pour chaque semestres (tous si aucun semestreOpt, sinon uniquement le selectionné)
|
||||||
foreach($answer->parcours as $semestre){ if( $semestreOpt == null || $semestreOpt == $semestre['id'] ){
|
foreach($answer->parcours as $semestre){ if( $semestreOpt == null || $semestreOpt == $semestre['id'] ){
|
||||||
|
|
||||||
|
@ -1182,21 +1187,31 @@ if( (permission('master') || permission('admin')) && $etudiantOpt != null ){
|
||||||
|
|
||||||
/* MOYENNE MODULE */
|
/* MOYENNE MODULE */
|
||||||
if( is_bool($module['moyenne']) ) // si aucune note pour ce controle on affiche 'Pas de note'
|
if( is_bool($module['moyenne']) ) // si aucune note pour ce controle on affiche 'Pas de note'
|
||||||
echo "<td colspan=1><span class='link stressed' style='padding:.5em 1em; background:white;'>Pas de moyenne</span></td>";
|
echo "<td colspan=1><span class='link inactive stressed' style='padding:.5em 1em; background:white;'>Pas de moyenne</span></td>";
|
||||||
else // si une note, alors on l'affiche
|
else // si une note, alors on l'affiche
|
||||||
echo "<td colspan=1><span class='link ".noteToClass($module['moyenne']['moyenne'], $module['moyenne']['base'])."' style='padding:.5em 1em; background:white;'>Moyenne module: <strong>".number_format($module['moyenne']['moyenne'], 2)." <span class=unstressed>/</span> ".$module['moyenne']['base']."</span></strong></td>";
|
echo "<td colspan=1><span class='link inactive ".noteToClass($module['moyenne']['moyenne'], $module['moyenne']['base'])."' style='padding:.5em 1em; background:white;'>Moyenne module: <strong>".number_format($module['moyenne']['moyenne'], 2)." <span class=unstressed>/</span> ".$module['moyenne']['base']."</span></strong></td>";
|
||||||
|
|
||||||
/* MOYENNE UE */
|
/* MOYENNE UE */
|
||||||
if( is_bool($UE['moyenne']) ) // si aucune note pour cet UE on affiche 'Pas de moyenne'
|
// si UE non inactif dans la capitalisation, on affiche
|
||||||
echo "<td colspan=1><span class='link stressed' style='padding:.5em 1em; background:white;'>Pas de moyenne</span></td>";
|
if( !in_array($UE['id'], $semestre['inactive']) ){
|
||||||
else // si un moyenne, alors on l'affiche
|
|
||||||
echo "<td colspan=1><span class='link ".noteToClass($UE['moyenne']['moyenne'], $UE['moyenne']['base'])."' style='padding:.5em 1em; background:white;'>Moyenne UE: <strong>".number_format($UE['moyenne']['moyenne'], 2)." <span class=unstressed>/</span> ".$UE['moyenne']['base']."</span></strong></td>";
|
if( is_bool($UE['moyenne']) ) // si aucune note pour cet UE on affiche 'Pas de moyenne'
|
||||||
|
echo "<td colspan=1><span class='link inactive stressed' style='padding:.5em 1em; background:white;'>Pas de moyenne</span></td>";
|
||||||
|
else // si un moyenne, alors on l'affiche
|
||||||
|
echo "<td colspan=1><span class='link inactive ".noteToClass($UE['moyenne']['moyenne'], $UE['moyenne']['base'])."' style='padding:.5em 1em; background:white;'>Moyenne UE: <strong>".number_format($UE['moyenne']['moyenne'], 2)." <span class=unstressed>/</span> ".$UE['moyenne']['base']."</span></strong></td>";
|
||||||
|
|
||||||
|
// UE pas utilisé dans la capitalisation, on affiche pas
|
||||||
|
}else{ // sert de lien pour l'activer dans la capitalisation
|
||||||
|
echo "<td colspan=1><span class='link capitalisation_ue' data-stre='".$semestre['id']."' data-ue='".$UE['id']."' data-etu='".$etudiantOpt."' style='padding:.5em 1em; background:white;'>Non pris en compte</span></strong></td>";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* MOYENNE SEMESTRE */
|
/* MOYENNE SEMESTRE */
|
||||||
if( is_bool($semestre['moyenne']) ) // si aucune note pour ce semestre on affiche 'Pas de moyenne'
|
if( is_bool($semestre['moyenne']) ) // si aucune note pour ce semestre on affiche 'Pas de moyenne'
|
||||||
echo "<td colspan=1><span class='link stressed' style='padding:.5em 1em; background:white;'>Pas de moyenne</span></td>";
|
echo "<td colspan=1><span class='link inactive stressed' style='padding:.5em 1em; background:white;'>Pas de moyenne</span></td>";
|
||||||
else // si un moyenne, alors on l'affiche
|
else // si un moyenne, alors on l'affiche
|
||||||
echo "<td colspan=1><span class='link ".noteToClassSemestre($semestre['moyenne']['moyenne'], $semestre['moyenne']['base'], $semestre['compensable'], $semestre['compensation'])."' style='padding:.5em 1em; background:white;'>Moyenne semestre: <strong>".number_format($semestre['moyenne']['moyenne'], 2)." <span class=unstressed>/</span> ".$semestre['moyenne']['base']."</span></strong></td>";
|
echo "<td colspan=1><span class='link inactive ".noteToClassSemestre($semestre['moyenne']['moyenne'], $semestre['moyenne']['base'], $semestre['compensable'], $semestre['compensation'])."' style='padding:.5em 1em; background:white;'>Moyenne semestre: <strong>".number_format($semestre['moyenne']['moyenne'], 2)." <span class=unstressed>/</span> ".$semestre['moyenne']['base']."</span></strong></td>";
|
||||||
|
|
||||||
echo '</tr>';
|
echo '</tr>';
|
||||||
|
|
||||||
|
|
|
@ -693,7 +693,6 @@ if( permission('master') || permission('admin') ){
|
||||||
echo "<option value='2'>2</option>";
|
echo "<option value='2'>2</option>";
|
||||||
echo "</select><br>";
|
echo "</select><br>";
|
||||||
|
|
||||||
// echo "<div data-year='".$anneeOpt."' class='confirm active center'>Importer une liste</div>";
|
|
||||||
echo "<div data-year='".$anneeOpt."' class='confirm active center'>Importer une liste<input type='file' id='import_inscrits'></div>";
|
echo "<div data-year='".$anneeOpt."' class='confirm active center'>Importer une liste<input type='file' id='import_inscrits'></div>";
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
<?php header('Location: ../index.php'); ?>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -116,6 +116,10 @@ function displayParcours($parcours, $selected){
|
||||||
}else // si pas de note, on met la couleur par défaut
|
}else // si pas de note, on met la couleur par défaut
|
||||||
$themeColor = $normColor;
|
$themeColor = $normColor;
|
||||||
|
|
||||||
|
// si le semestre n'est pas pris en compte dans la capitalisation, on l'affiche en violet
|
||||||
|
if( !$UE['capitalisation'] )
|
||||||
|
$themeColor = '#b18cff';
|
||||||
|
|
||||||
echo "<circle style='cursor:pointer;' onclick=\"document.location='#".$UE['id']."';\" class='semestre_circle' data-stre='".$parcours[$i]['id']."' cx='".($xx)."' cy='".$dot['y']."' r='".(.8*$dot['r'])."' fill='".$themeColor."'/>";
|
echo "<circle style='cursor:pointer;' onclick=\"document.location='#".$UE['id']."';\" class='semestre_circle' data-stre='".$parcours[$i]['id']."' cx='".($xx)."' cy='".$dot['y']."' r='".(.8*$dot['r'])."' fill='".$themeColor."'/>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
16
test.php
16
test.php
|
@ -48,7 +48,23 @@ debug();
|
||||||
|
|
||||||
// var_dump(DataBase::getInstance()->getSemestreInfoFromTime( strtotime('2017-01-31') ));
|
// var_dump(DataBase::getInstance()->getSemestreInfoFromTime( strtotime('2017-01-31') ));
|
||||||
|
|
||||||
|
// on récupère les année équivalentes (redoublées) pour un semestre
|
||||||
|
// var_dump( semestreRepo::getRedoublements(252, 'Etud100') );
|
||||||
|
|
||||||
|
// 35 = UE1,
|
||||||
|
// on veut que l'ue d'id 35 compte pour le semestre 252 et que les semestres de même rang et formation soient ignorés
|
||||||
|
/*******************************************************/
|
||||||
|
// $request = new stdClass; $answer = new stdClass;
|
||||||
|
// $request->level_1 = 'capitaliser';
|
||||||
|
// $request->ue = 37;
|
||||||
|
// $request->semestre = 276;
|
||||||
|
// $request->etudiant = 'Etud100';
|
||||||
|
|
||||||
|
// careerManager::switch_level_1($request, $answer);
|
||||||
|
// var_dump( $answer );
|
||||||
|
/*******************************************************/
|
||||||
|
|
||||||
|
var_dump( $_SERVER['HTTP_HOST'] );
|
||||||
// $ts = time();
|
// $ts = time();
|
||||||
// $date1 = date('Y-m-d', $ts);
|
// $date1 = date('Y-m-d', $ts);
|
||||||
// $date2 = date('Y-m-d', strtotime($date1.' - 1 year'));
|
// $date2 = date('Y-m-d', strtotime($date1.' - 1 year'));
|
||||||
|
|
BIN
xdoc/MCD.png
BIN
xdoc/MCD.png
Binary file not shown.
Before Width: | Height: | Size: 594 KiB After Width: | Height: | Size: 134 KiB |
|
@ -3,7 +3,7 @@
|
||||||
-- http://www.phpmyadmin.net
|
-- http://www.phpmyadmin.net
|
||||||
--
|
--
|
||||||
-- Client: localhost
|
-- Client: localhost
|
||||||
-- Généré le: Ven 08 Janvier 2016 à 10:51
|
-- Généré le: Ven 08 Janvier 2016 à 23:38
|
||||||
-- Version du serveur: 5.5.46-0ubuntu0.14.04.2
|
-- Version du serveur: 5.5.46-0ubuntu0.14.04.2
|
||||||
-- Version de PHP: 5.5.9-1ubuntu4.14
|
-- Version de PHP: 5.5.9-1ubuntu4.14
|
||||||
|
|
||||||
|
@ -32,6 +32,7 @@ CREATE TABLE IF NOT EXISTS `appartenance` (
|
||||||
`id_groupe` int(11) NOT NULL,
|
`id_groupe` int(11) NOT NULL,
|
||||||
`id_semestre` int(11) NOT NULL,
|
`id_semestre` int(11) NOT NULL,
|
||||||
`mention` varchar(3) DEFAULT NULL,
|
`mention` varchar(3) DEFAULT NULL,
|
||||||
|
`inactive` varchar(50) NOT NULL DEFAULT '',
|
||||||
PRIMARY KEY (`id_appartenance`),
|
PRIMARY KEY (`id_appartenance`),
|
||||||
KEY `id_etudiant` (`id_etudiant`),
|
KEY `id_etudiant` (`id_etudiant`),
|
||||||
KEY `id_groupe` (`id_groupe`),
|
KEY `id_groupe` (`id_groupe`),
|
||||||
|
@ -40,7 +41,7 @@ CREATE TABLE IF NOT EXISTS `appartenance` (
|
||||||
KEY `id_etudiant_2` (`id_etudiant`),
|
KEY `id_etudiant_2` (`id_etudiant`),
|
||||||
KEY `id_groupe_2` (`id_groupe`),
|
KEY `id_groupe_2` (`id_groupe`),
|
||||||
KEY `id_semestre_2` (`id_semestre`)
|
KEY `id_semestre_2` (`id_semestre`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5651 ;
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5950 ;
|
||||||
|
|
||||||
--
|
--
|
||||||
-- RELATIONS POUR LA TABLE `appartenance`:
|
-- RELATIONS POUR LA TABLE `appartenance`:
|
||||||
|
@ -68,7 +69,7 @@ CREATE TABLE IF NOT EXISTS `controle` (
|
||||||
`publication` tinyint(1) NOT NULL DEFAULT '0',
|
`publication` tinyint(1) NOT NULL DEFAULT '0',
|
||||||
PRIMARY KEY (`id_controle`),
|
PRIMARY KEY (`id_controle`),
|
||||||
KEY `id_mcc_module` (`id_mcc_module`)
|
KEY `id_mcc_module` (`id_mcc_module`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1309 ;
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1399 ;
|
||||||
|
|
||||||
--
|
--
|
||||||
-- RELATIONS POUR LA TABLE `controle`:
|
-- RELATIONS POUR LA TABLE `controle`:
|
||||||
|
@ -92,7 +93,7 @@ CREATE TABLE IF NOT EXISTS `enseignement` (
|
||||||
KEY `id_enseignant` (`id_enseignant`),
|
KEY `id_enseignant` (`id_enseignant`),
|
||||||
KEY `id_mcc_module` (`id_mcc_module`),
|
KEY `id_mcc_module` (`id_mcc_module`),
|
||||||
KEY `id_groupe` (`id_groupe`)
|
KEY `id_groupe` (`id_groupe`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=229 ;
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=243 ;
|
||||||
|
|
||||||
--
|
--
|
||||||
-- RELATIONS POUR LA TABLE `enseignement`:
|
-- RELATIONS POUR LA TABLE `enseignement`:
|
||||||
|
@ -116,7 +117,7 @@ CREATE TABLE IF NOT EXISTS `formation` (
|
||||||
`nom` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
|
`nom` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
|
||||||
`nb_semestres` int(11) NOT NULL DEFAULT '2',
|
`nb_semestres` int(11) NOT NULL DEFAULT '2',
|
||||||
PRIMARY KEY (`id_formation`)
|
PRIMARY KEY (`id_formation`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=106 ;
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=114 ;
|
||||||
|
|
||||||
-- --------------------------------------------------------
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
@ -176,7 +177,6 @@ INSERT INTO `groupe` (`id_groupe`, `nom`) VALUES
|
||||||
(48, 'S7M'),
|
(48, 'S7M'),
|
||||||
(49, 'S8M'),
|
(49, 'S8M'),
|
||||||
(50, 'S9M'),
|
(50, 'S9M'),
|
||||||
(51, 'S10M'),
|
|
||||||
(52, 'S1G'),
|
(52, 'S1G'),
|
||||||
(53, 'S1H'),
|
(53, 'S1H'),
|
||||||
(54, 'S1I'),
|
(54, 'S1I'),
|
||||||
|
@ -261,18 +261,6 @@ INSERT INTO `groupe` (`id_groupe`, `nom`) VALUES
|
||||||
(133, 'S9J'),
|
(133, 'S9J'),
|
||||||
(134, 'S9K'),
|
(134, 'S9K'),
|
||||||
(135, 'S9L'),
|
(135, 'S9L'),
|
||||||
(136, 'S10A'),
|
|
||||||
(137, 'S10B'),
|
|
||||||
(138, 'S10C'),
|
|
||||||
(139, 'S10D'),
|
|
||||||
(140, 'S10E'),
|
|
||||||
(141, 'S10F'),
|
|
||||||
(142, 'S10G'),
|
|
||||||
(143, 'S10H'),
|
|
||||||
(144, 'S10I'),
|
|
||||||
(145, 'S10J'),
|
|
||||||
(146, 'S10K'),
|
|
||||||
(147, 'S10L'),
|
|
||||||
(148, 'INGBD1 S2'),
|
(148, 'INGBD1 S2'),
|
||||||
(149, 'INSIQ1 S2'),
|
(149, 'INSIQ1 S2'),
|
||||||
(150, 'ITINAS S2'),
|
(150, 'ITINAS S2'),
|
||||||
|
@ -280,16 +268,7 @@ INSERT INTO `groupe` (`id_groupe`, `nom`) VALUES
|
||||||
(152, 'ITINN2 S2'),
|
(152, 'ITINN2 S2'),
|
||||||
(153, 'ITINS1 S2'),
|
(153, 'ITINS1 S2'),
|
||||||
(154, 'ITINT2 S2'),
|
(154, 'ITINT2 S2'),
|
||||||
(155, 'ITINT3 S2'),
|
(155, 'ITINT3 S2');
|
||||||
(156, 'ITINN1 S0'),
|
|
||||||
(157, 'INGBD1 S10'),
|
|
||||||
(158, 'INSIQ1 S10'),
|
|
||||||
(159, 'ITINAS S10'),
|
|
||||||
(160, 'ITINN1 S10'),
|
|
||||||
(161, 'ITINN2 S10'),
|
|
||||||
(162, 'ITINS1 S10'),
|
|
||||||
(163, 'ITINT2 S10'),
|
|
||||||
(164, 'ITINT3 S10');
|
|
||||||
|
|
||||||
-- --------------------------------------------------------
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
@ -305,7 +284,7 @@ CREATE TABLE IF NOT EXISTS `mcc_module` (
|
||||||
PRIMARY KEY (`id_mcc_module`),
|
PRIMARY KEY (`id_mcc_module`),
|
||||||
KEY `id_mcc_ue` (`id_mcc_ue`),
|
KEY `id_mcc_ue` (`id_mcc_ue`),
|
||||||
KEY `id_module` (`id_module`)
|
KEY `id_module` (`id_module`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=599 ;
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=638 ;
|
||||||
|
|
||||||
--
|
--
|
||||||
-- RELATIONS POUR LA TABLE `mcc_module`:
|
-- RELATIONS POUR LA TABLE `mcc_module`:
|
||||||
|
@ -329,7 +308,7 @@ CREATE TABLE IF NOT EXISTS `mcc_ue` (
|
||||||
PRIMARY KEY (`id_mcc_ue`),
|
PRIMARY KEY (`id_mcc_ue`),
|
||||||
KEY `id_semestre` (`id_semestre`),
|
KEY `id_semestre` (`id_semestre`),
|
||||||
KEY `id_ue` (`id_ue`)
|
KEY `id_ue` (`id_ue`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=93 ;
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=99 ;
|
||||||
|
|
||||||
--
|
--
|
||||||
-- RELATIONS POUR LA TABLE `mcc_ue`:
|
-- RELATIONS POUR LA TABLE `mcc_ue`:
|
||||||
|
@ -350,7 +329,7 @@ CREATE TABLE IF NOT EXISTS `module` (
|
||||||
`nom` varchar(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
|
`nom` varchar(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
|
||||||
`libelle` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
|
`libelle` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
|
||||||
PRIMARY KEY (`id_module`)
|
PRIMARY KEY (`id_module`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=222 ;
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=235 ;
|
||||||
|
|
||||||
-- --------------------------------------------------------
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
@ -366,7 +345,7 @@ CREATE TABLE IF NOT EXISTS `note` (
|
||||||
PRIMARY KEY (`id_note`),
|
PRIMARY KEY (`id_note`),
|
||||||
KEY `id_appartenance` (`id_appartenance`),
|
KEY `id_appartenance` (`id_appartenance`),
|
||||||
KEY `id_controle` (`id_controle`)
|
KEY `id_controle` (`id_controle`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=493 ;
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=507 ;
|
||||||
|
|
||||||
--
|
--
|
||||||
-- RELATIONS POUR LA TABLE `note`:
|
-- RELATIONS POUR LA TABLE `note`:
|
||||||
|
@ -390,7 +369,7 @@ CREATE TABLE IF NOT EXISTS `semestre` (
|
||||||
`annee` year(4) NOT NULL,
|
`annee` year(4) NOT NULL,
|
||||||
PRIMARY KEY (`id_semestre`),
|
PRIMARY KEY (`id_semestre`),
|
||||||
KEY `id_formation` (`id_formation`)
|
KEY `id_formation` (`id_formation`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=249 ;
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=267 ;
|
||||||
|
|
||||||
--
|
--
|
||||||
-- RELATIONS POUR LA TABLE `semestre`:
|
-- RELATIONS POUR LA TABLE `semestre`:
|
||||||
|
@ -431,7 +410,7 @@ CREATE TABLE IF NOT EXISTS `ue` (
|
||||||
`nom` varchar(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
|
`nom` varchar(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
|
||||||
`libelle` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
|
`libelle` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
|
||||||
PRIMARY KEY (`id_ue`)
|
PRIMARY KEY (`id_ue`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=35 ;
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=37 ;
|
||||||
|
|
||||||
-- --------------------------------------------------------
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
@ -456,7 +435,7 @@ CREATE TABLE IF NOT EXISTS `utilisateur` (
|
||||||
--
|
--
|
||||||
|
|
||||||
INSERT INTO `utilisateur` (`identifiant`, `prenom`, `nom`, `sexe`, `mail`, `mdp`, `droits`) VALUES
|
INSERT INTO `utilisateur` (`identifiant`, `prenom`, `nom`, `sexe`, `mail`, `mdp`, `droits`) VALUES
|
||||||
('admin', 'monsieur', 'administrateur', 1, 'admin@iut-tlse3.fr', 'lkjdsqlkjdlqksjdlqksjdqlksdjlqksjdqj', 'teacher,admin'),
|
('admin', 'monsieur', 'administrateur', 1, 'admin@iut-tlse3.fr', 'lkjdsqlkjdlqksjdlqksjdqlksdjlqksjdqj', 'admin'),
|
||||||
('admin2', 'madame', 'administratrice', 0, 'mme.admin@iut-tlse3.fr', 'lkjdsqlkjdlqksjdlqksjdqlksdjlqksjdqj', 'admin'),
|
('admin2', 'madame', 'administratrice', 0, 'mme.admin@iut-tlse3.fr', 'lkjdsqlkjdlqksjdlqksjdqlksdjlqksjdqj', 'admin'),
|
||||||
('lbh1609a', 'Hervé', 'LEBLANC', 1, 'herve.leblanc@iut-tlse3.fr', 'lqkjsdlkjsdlkjqsdlkjqsdlkjqsdkjqsldjqsj', 'teacher'),
|
('lbh1609a', 'Hervé', 'LEBLANC', 1, 'herve.leblanc@iut-tlse3.fr', 'lqkjsdlkjsdlkjqsdlkjqsdlkjqsdkjqsldjqsj', 'teacher'),
|
||||||
('ref', 'mlle', 'référente', 0, 'ref@ref.ref', 'sqldkmsqldksqmlkd', 'master');
|
('ref', 'mlle', 'référente', 0, 'ref@ref.ref', 'sqldkmsqldksqmlkd', 'master');
|
||||||
|
|
Loading…
Reference in New Issue