Interface graphique étape1 > import/export des MCC
This commit is contained in:
parent
47754ac076
commit
5b3efd4601
|
@ -5,7 +5,11 @@
|
||||||
/********************************/
|
/********************************/
|
||||||
/* GESTION DE L'AFFINAGE PAR UE */
|
/* GESTION DE L'AFFINAGE PAR UE */
|
||||||
/********************************/
|
/********************************/
|
||||||
var partList = document.querySelectorAll("#CONTAINER > section[name] > table.partlist[name=UE], #CONTAINER > section[name] > table.partlist[name=semestre], #CONTAINER > section[name] > table.partlist[name=formation]");
|
var selectList = document.querySelectorAll("#CONTAINER > section[name] > .p > select[name=annee]");
|
||||||
|
var partList = document.querySelectorAll("#CONTAINER > section[name] > table.partlist[name=UE], "+
|
||||||
|
"#CONTAINER > section[name] > table.partlist[name=semestre], "+
|
||||||
|
"#CONTAINER > section[name] > table.partlist[name=formation], "+
|
||||||
|
"#CONTAINER > section[name] > .p > div.partlist[name=semestre] > span[data-stre]");
|
||||||
|
|
||||||
for( var i = 0 ; i < partList.length ; i++ ){
|
for( var i = 0 ; i < partList.length ; i++ ){
|
||||||
|
|
||||||
|
@ -29,9 +33,41 @@ for( var i = 0 ; i < partList.length ; i++ ){
|
||||||
if( tableauParent.getAttribute('name') == 'UE' )
|
if( tableauParent.getAttribute('name') == 'UE' )
|
||||||
pageM.vars[2] = 'u:'+e.target.dataset.value;
|
pageM.vars[2] = 'u:'+e.target.dataset.value;
|
||||||
|
|
||||||
|
}else if( e.target.parentNode.getAttribute('name') == 'semestre' && e.target.dataset.hasOwnProperty('stre') )
|
||||||
|
pageM.vars[2] = 's:'+e.target.dataset.stre;
|
||||||
|
|
||||||
|
// si la formation n'est pas définie, on l'active
|
||||||
|
if( !/^[fa]:/.test(pageM.vars[1]) )
|
||||||
|
if( document.querySelector('#CONTAINER > section[name] > table.partlist[name=formation] td[data-value].active') != null )
|
||||||
|
pageM.vars[1] = 'f:'+document.querySelector('#CONTAINER > section[name] > table.partlist[name=formation] td[data-value].active').dataset.value;
|
||||||
|
|
||||||
|
// si on a '*' comme valeur, on l'enlève
|
||||||
|
if( /\*$/.test(pageM.vars[2]) )
|
||||||
|
pageM.vars.pop();
|
||||||
|
|
||||||
|
reload();
|
||||||
|
|
||||||
|
}, false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// GESTION DE L'AFFINAGE PAR ANNEE //
|
||||||
|
for( var i = 0 ; i < selectList.length ; i++ ){
|
||||||
|
|
||||||
|
selectList[i].addEventListener('change', function(e){
|
||||||
|
|
||||||
|
if( e.target.tagName == 'SELECT' ){
|
||||||
|
|
||||||
|
if( e.target.getAttribute('name') == 'annee' )
|
||||||
|
pageM.vars[1] = 'a:'+e.target.value;
|
||||||
|
|
||||||
// si la formation n'est pas définie, on l'active
|
// si la formation n'est pas définie, on l'active
|
||||||
if( !/^f:/.test(pageM.vars[1]) )
|
if( !/^[fa]:/.test(pageM.vars[1]) )
|
||||||
if( document.querySelector('#CONTAINER > section[name] > table.partlist[name=formation] td[data-value].active') != null )
|
if( document.querySelector('#CONTAINER > section[name] > table.partlist[name=formation] td[data-value].active') != null )
|
||||||
pageM.vars[1] = 'f:'+document.querySelector('#CONTAINER > section[name] > table.partlist[name=formation] td[data-value].active').dataset.value;
|
pageM.vars[1] = 'f:'+document.querySelector('#CONTAINER > section[name] > table.partlist[name=formation] td[data-value].active').dataset.value;
|
||||||
|
|
||||||
|
@ -41,6 +77,7 @@ for( var i = 0 ; i < partList.length ; i++ ){
|
||||||
|
|
||||||
reload();
|
reload();
|
||||||
}
|
}
|
||||||
|
|
||||||
}, false);
|
}, false);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -532,8 +532,6 @@ function anneeScolaire($year){ return $year.' - '.($year+1); }
|
||||||
/*********************************/
|
/*********************************/
|
||||||
if( permission('admin') ){
|
if( permission('admin') ){
|
||||||
echo "<section name='importexcel' data-title='import / export'>";
|
echo "<section name='importexcel' data-title='import / export'>";
|
||||||
debug();
|
|
||||||
|
|
||||||
|
|
||||||
/* [1] Exportation
|
/* [1] Exportation
|
||||||
==========================================*/
|
==========================================*/
|
||||||
|
|
185
page/modules.php
185
page/modules.php
|
@ -10,6 +10,7 @@ require_once __ROOT__.'/manager/modules.php';
|
||||||
$ueOpt = null;
|
$ueOpt = null;
|
||||||
$semestreOpt = null;
|
$semestreOpt = null;
|
||||||
$formationOpt = null;
|
$formationOpt = null;
|
||||||
|
$anneeOpt = null;
|
||||||
|
|
||||||
// on cherche dans toutes les variables _get si on trouve des paramètres
|
// on cherche dans toutes les variables _get si on trouve des paramètres
|
||||||
foreach($_POST as $k=>$v){
|
foreach($_POST as $k=>$v){
|
||||||
|
@ -23,11 +24,16 @@ require_once __ROOT__.'/manager/modules.php';
|
||||||
if( preg_match('/^f:(.+)$/', $k, $m) ) // f:codeFormation
|
if( preg_match('/^f:(.+)$/', $k, $m) ) // f:codeFormation
|
||||||
$formationOpt = $m[1];
|
$formationOpt = $m[1];
|
||||||
|
|
||||||
|
if( preg_match('/^a:(.+)$/', $k, $m) ) // a:annee
|
||||||
|
$anneeOpt = $m[1];
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$ueOpt = ($ueOpt == null || $ueOpt == '*') ? null : $ueOpt;
|
$ueOpt = ($ueOpt == null || $ueOpt == '*') ? null : $ueOpt;
|
||||||
$semestreOpt = ($semestreOpt == null || $semestreOpt == '*') ? null : $semestreOpt;
|
$semestreOpt = ($semestreOpt == null || $semestreOpt == '*') ? null : $semestreOpt;
|
||||||
$formationOpt = ($formationOpt == null || $formationOpt == '*') ? null : $formationOpt;
|
$formationOpt = ($formationOpt == null || $formationOpt == '*') ? null : $formationOpt;
|
||||||
|
$anneeOpt = ($anneeOpt == null || $anneeOpt == '*') ? null : $anneeOpt;
|
||||||
|
|
||||||
|
|
||||||
/****************************************
|
/****************************************
|
||||||
|
@ -491,35 +497,188 @@ if( permission('admin') ){ // si l'utilisateur est un admin
|
||||||
|
|
||||||
|
|
||||||
if( permission('admin') ){
|
if( permission('admin') ){
|
||||||
require_once __ROOT__.'/manager/phpExcel.php';
|
function anneeScolaire($year){ return $year.' - '.($year+1); }
|
||||||
require_once __ROOT__.'/manager/database.php';
|
// require_once __ROOT__.'/manager/phpExcel.php';
|
||||||
|
// require_once __ROOT__.'/manager/database.php';
|
||||||
|
|
||||||
$request = new stdClass(); $answer = new stdClass();
|
// $request = new stdClass(); $answer = new stdClass();
|
||||||
|
|
||||||
$request->level_1 = 'import_mcc';
|
// $request->level_1 = 'import_mcc';
|
||||||
$request->docPath = __ROOT__.'/src/excelTemplates/mcc.xlsx';
|
// $request->docPath = __ROOT__.'/src/excelTemplates/mcc.xlsx';
|
||||||
// $request->docPath = __ROOT__.'/src/nouveau_modele.xlsx';
|
// $request->docPath = __ROOT__.'/src/nouveau_modele.xlsx';
|
||||||
|
|
||||||
xlsx_switch_lvl1($request, $answer);
|
// xlsx_switch_lvl1($request, $answer);
|
||||||
|
// var_dump( DataBase::getInstance()->setMCC($semestre, $answer->mcc) );
|
||||||
|
|
||||||
|
|
||||||
// si aucune erreur
|
|
||||||
if( $answer->request == 'success' ){
|
|
||||||
echo "<section name='mcc' data-title='IMPORT / EXPORT'>";
|
|
||||||
|
|
||||||
$semestre = 1;
|
echo "<section name='importmcc' data-title='import / export'>";
|
||||||
|
|
||||||
var_dump( DataBase::getInstance()->setMCC($semestre, $answer->mcc) );
|
/* [1] Exportation
|
||||||
|
==========================================*/
|
||||||
|
|
||||||
|
// si annéeOpt n'est pas définie, on le fait
|
||||||
|
if( $anneeOpt == null ) $anneeOpt = $_SESSION['annee'];
|
||||||
|
|
||||||
|
/* ON RÉCUPÈRE LA LISTE DES SEMESTRES EN FONCTION DE L'ANNEE */
|
||||||
|
$request = new stdClass(); $answer = new stdClass();
|
||||||
|
$request->level_1 = 'getSemestres';
|
||||||
|
groups_switch_level_1($request, $answer); // on fait la requête pour les groupes en fonction des filtres si définis
|
||||||
|
|
||||||
|
if( $answer->request == 'success' ){ // si pas d'erreur
|
||||||
|
echo "<div class='p center'>";
|
||||||
|
|
||||||
|
$anneesListe = array();
|
||||||
|
$semestresListe = array();
|
||||||
|
|
||||||
|
/**********************/
|
||||||
|
/* AFFINAGE PAR ANNEE */
|
||||||
|
/**********************/
|
||||||
|
echo "Exportation des MCC d'un semestre<br>";
|
||||||
|
echo "<span style='font-size:.8em;'>(Format compatible Microsoft Office, Open Office et Libre Office)</span><br>";
|
||||||
|
|
||||||
|
/* AFFINAGE POUR LES 5 ANNEES SUIVANTES */
|
||||||
|
echo "<select name='annee'>";
|
||||||
|
foreach($answer->yearList as $annee){ if( !in_array($annee['annee'], $anneesListe) ){ // pour éviter les doublons
|
||||||
|
if( $anneeOpt == $annee['annee'] ) // on préselectionne l'année selectionnée
|
||||||
|
echo "<option value='".$annee['annee']."' selected>".anneeScolaire($annee['annee'])."</option>";
|
||||||
|
else
|
||||||
|
echo "<option value='".$annee['annee']."'>".anneeScolaire($annee['annee'])."</option>";
|
||||||
|
|
||||||
|
array_push($anneesListe, $annee['annee']);
|
||||||
|
}}
|
||||||
|
echo "</select><br><br>";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*************************/
|
||||||
|
/* AFFINAGE PAR SEMESTRE */
|
||||||
|
/*************************/
|
||||||
|
foreach($answer->yearList as $annee){ if( $anneeOpt == $annee['annee'] ){ // on récupère la liste des ids
|
||||||
|
foreach($annee['semestres'] as $semestre){ if( !in_array($semestre['id'], $semestresListe) ){
|
||||||
|
array_push($semestresListe, $semestre['id']);
|
||||||
|
}}
|
||||||
|
}}
|
||||||
|
|
||||||
|
// si semestreOpt n'est pas cohérent (pas pour cette année)
|
||||||
|
if( !in_array($semestreOpt, $semestresListe) ) $semestreOpt = null;
|
||||||
|
|
||||||
|
echo "<div class='partlist' name='semestre'>";
|
||||||
|
if( $semestreOpt == null ) echo "<span data-stre='*' class='active'>Tous</span>";
|
||||||
|
else echo "<span data-stre='*'>Tous</span>";
|
||||||
|
|
||||||
|
/* On récupère la liste des SEMESTRES en accord avec l'ANNEE sélectionnée */
|
||||||
|
foreach($answer->yearList as $annee){ if( $anneeOpt == $annee['annee'] ){
|
||||||
|
foreach($annee['semestres'] as $semestre){ if( in_array($semestre['id'], $semestresListe) ){
|
||||||
|
|
||||||
|
if( $semestre['id'] == $semestreOpt ) // si c'est le semestre séléctionné
|
||||||
|
echo "<span data-year='".$annee['annee']."' data-stre='".$semestre['id']."' class='active'>".$semestre['formation']." - ".$semestre['nom'].'</span>';
|
||||||
|
else // sinon on affiche normalement
|
||||||
|
echo "<span data-year='".$annee['annee']."' data-stre='".$semestre['id']."'>".$semestre['formation']." - ".$semestre['nom'].'</span>';
|
||||||
|
}}
|
||||||
|
}}
|
||||||
|
echo "</div><br><br>";
|
||||||
|
|
||||||
|
|
||||||
|
// si on a selectionné un semestre
|
||||||
|
if( $semestreOpt != null )
|
||||||
|
foreach($answer->yearList as $annee){ if( $anneeOpt == $annee['annee'] ){ foreach($annee['semestres'] as $semestre){ if( $semestreOpt == $semestre['id'] ){
|
||||||
|
echo "<span class='unstressed'>".$semestre['nb_etudiants']." étudiants</span><br><br>";
|
||||||
|
}}}}
|
||||||
|
else{ // si on a selectionné "Tous"
|
||||||
|
$nbTotal = 0;
|
||||||
|
foreach($answer->yearList as $annee){ if( $anneeOpt == $annee['annee'] ){ foreach($annee['semestres'] as $semestre){
|
||||||
|
$nbTotal += $semestre['nb_etudiants'];
|
||||||
|
}}}
|
||||||
|
echo "<span class='unstressed'>".$nbTotal." étudiants</span><br><br>";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
echo "<div data-year='".$anneeOpt."' data-stre='".$semestreOpt."' class='confirm active center'>Générer le fichier</div>";
|
||||||
|
echo "<div data-year='".$anneeOpt."' data-stre='".$semestreOpt."' class='confirm active center'>Télécharger le fichier</div>";
|
||||||
|
|
||||||
|
|
||||||
|
echo "</div>";
|
||||||
|
|
||||||
echo "</section>";
|
|
||||||
}else
|
}else
|
||||||
echo "<section name='mcc' data-title='IMPORT / EXPORT' class='basic'><table class='basic'><tbody><tr><td>Données erronées</td></tr></tbody></table></section>";
|
echo "<p>Erreur interne</p>";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* [2] Importation
|
||||||
|
==========================================*/
|
||||||
|
|
||||||
|
// si annéeOpt n'est pas définie, on le fait
|
||||||
|
if( $anneeOpt == null || $anneeOpt < $_SESSION['annee'] ) $anneeOpt = $_SESSION['annee'];
|
||||||
|
|
||||||
|
/* ON RÉCUPÈRE LA LISTE DES SEMESTRES EN FONCTION DE L'ANNEE */
|
||||||
|
// $request = new stdClass(); $answer = new stdClass();
|
||||||
|
// $request->level_1 = 'getSemestres';
|
||||||
|
// groups_switch_level_1($request, $answer); // on fait la requête pour les groupes en fonction des filtres si définis
|
||||||
|
|
||||||
|
// if( $answer->request == 'success' ){ // si pas d'erreur
|
||||||
|
echo "<div class='p center'>";
|
||||||
|
|
||||||
|
$anneesListe = array();
|
||||||
|
|
||||||
|
/**********************/
|
||||||
|
/* AFFINAGE PAR ANNEE */
|
||||||
|
/**********************/
|
||||||
|
echo "Importation des MCC d'un semestre<br>";
|
||||||
|
echo "<span style='font-size:.8em;'>(Fichier .xlsx suivant le modèle : <a href='".__ROOT__."/src/import_mcc.xlsx'>modèle de fichier</a>)</span><br>";
|
||||||
|
|
||||||
|
/* AFFINAGE POUR LES 5 ANNEES SUIVANTES */
|
||||||
|
echo "<select name='annee'>";
|
||||||
|
for($i = 0 ; $i < 5 ; $i++){
|
||||||
|
if( $anneeOpt == $_SESSION['annee']+$i ) // on préselectionne l'année selectionnée
|
||||||
|
echo "<option value='".($annee['annee']+$i)."' selected>".anneeScolaire($annee['annee']+$i)."</option>";
|
||||||
|
else
|
||||||
|
echo "<option value='".($annee['annee']+$i)."'>".anneeScolaire($annee['annee']+$i)."</option>";
|
||||||
|
}
|
||||||
|
echo "</select><br>";
|
||||||
|
|
||||||
|
|
||||||
|
/*************************/
|
||||||
|
/* AFFINAGE PAR SEMESTRE */
|
||||||
|
/*************************/
|
||||||
|
echo "<div class='partlist' name='semestre'>";
|
||||||
|
if( $semestreOpt == null ) echo "<span data-stre='*' class='active'>Tous</span>";
|
||||||
|
else echo "<span data-stre='*'>Tous</span>";
|
||||||
|
|
||||||
|
/* On récupère la liste des SEMESTRES en accord avec l'ANNEE sélectionnée */
|
||||||
|
foreach($answer->yearList as $annee){ if( $anneeOpt == $annee['annee'] ){
|
||||||
|
foreach($annee['semestres'] as $semestre){ if( in_array($semestre['id'], $semestresListe) ){
|
||||||
|
|
||||||
|
if( $semestre['id'] == $semestreOpt ) // si c'est le semestre séléctionné
|
||||||
|
echo "<span data-year='".$annee['annee']."' data-stre='".$semestre['id']."' class='active'>".$semestre['formation']." - ".$semestre['nom'].'</span>';
|
||||||
|
else // sinon on affiche normalement
|
||||||
|
echo "<span data-year='".$annee['annee']."' data-stre='".$semestre['id']."'>".$semestre['formation']." - ".$semestre['nom'].'</span>';
|
||||||
|
}}
|
||||||
|
}}
|
||||||
|
echo "</div><br><br>";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
echo "<div data-year='".$anneeOpt."' class='confirm active center'>Importer les MCC</div>";
|
||||||
|
|
||||||
|
echo "</div>";
|
||||||
|
|
||||||
|
// }else
|
||||||
|
// echo "<p>Erreur interne</p>";
|
||||||
|
|
||||||
|
echo "<section>";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
6
test.php
6
test.php
|
@ -47,8 +47,10 @@ require_once __ROOT__.'/manager/security.php';
|
||||||
require_once __ROOT__.'/manager/database.php';
|
require_once __ROOT__.'/manager/database.php';
|
||||||
|
|
||||||
debug();
|
debug();
|
||||||
$_SESSION['semestre_pair'] = !$_SESSION['semestre_pair'];
|
// $_SESSION['semestre_pair'] = !$_SESSION['semestre_pair'];
|
||||||
var_dump( $_SESSION['semestre_pair'] );
|
// var_dump( $_SESSION['semestre_pair'] );
|
||||||
|
|
||||||
|
// var_dump( utf8_decode( utf8_decode('Introduction aux systèmes informatiques')) );
|
||||||
|
|
||||||
// on affiche les modules d'un étudiant
|
// on affiche les modules d'un étudiant
|
||||||
// var_dump( DataBase::getInstance()->getModulesByUEByEtudiant(
|
// var_dump( DataBase::getInstance()->getModulesByUEByEtudiant(
|
||||||
|
|
Loading…
Reference in New Issue