[x] Export jury
+ format + excelManager + génération + téléchargement
This commit is contained in:
parent
7863168646
commit
d8fbc6eac1
|
@ -50,8 +50,7 @@ class excelManager{
|
||||||
$sheet->getColumnDimension('G')->setWidth(10);
|
$sheet->getColumnDimension('G')->setWidth(10);
|
||||||
|
|
||||||
// [4] Écriture des colonnes du tableau
|
// [4] Écriture des colonnes du tableau
|
||||||
$sheet->setCellValue('B1', "");
|
$sheet->setCellValue('A1', date("d/m/Y"));
|
||||||
$sheet->setCellValue('A2', date("d/m/Y G:m"));
|
|
||||||
$sheet->setCellValue('A4', 'Identifiant');
|
$sheet->setCellValue('A4', 'Identifiant');
|
||||||
$sheet->setCellValue('B4', 'Prénom');
|
$sheet->setCellValue('B4', 'Prénom');
|
||||||
$sheet->setCellValue('C4', 'Nom');
|
$sheet->setCellValue('C4', 'Nom');
|
||||||
|
@ -415,6 +414,73 @@ class excelManager{
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**********************************************/
|
||||||
|
/* Export la liste des étudiants pour le jury */
|
||||||
|
/**********************************************/
|
||||||
|
case 'export_jury':
|
||||||
|
|
||||||
|
// Vérification de la présence des groupes
|
||||||
|
|
||||||
|
if( isset($request->grouplist) ){
|
||||||
|
|
||||||
|
// [1] On crée une instance du fichier xls, activation de la feuille
|
||||||
|
$workbook = new PHPExcel();
|
||||||
|
$sheet = $workbook->getActiveSheet();
|
||||||
|
$writer = new PHPExcel_Writer_Excel2007($workbook);
|
||||||
|
|
||||||
|
// [2] Définition des paramètres du document
|
||||||
|
$workbook->getProperties()->setCreator($_SESSION['identifiant']);
|
||||||
|
$workbook->getProperties()->setLastModifiedBy('ACGA');
|
||||||
|
$workbook->getProperties()->setTitle('Liste étudiants jury');
|
||||||
|
|
||||||
|
// [3] Définition du format des cellules (document Excel)
|
||||||
|
$sheet->getColumnDimension('A')->setWidth(15);
|
||||||
|
$sheet->getColumnDimension('B')->setWidth(15);
|
||||||
|
$sheet->getColumnDimension('C')->setWidth(15);
|
||||||
|
$sheet->getColumnDimension('D')->setWidth(15);
|
||||||
|
|
||||||
|
// [4] Écriture des colonnes du tableau
|
||||||
|
$sheet->setCellValue('B1', "" );
|
||||||
|
$sheet->setCellValue('A2', date("d/m/Y G:m") );
|
||||||
|
$sheet->setCellValue('A4', 'Identifiant' );
|
||||||
|
$sheet->setCellValue('B4', 'Formation' );
|
||||||
|
$sheet->setCellValue('C4', 'Groupe' );
|
||||||
|
$sheet->setCellValue('D4', 'Mention' );
|
||||||
|
|
||||||
|
// [5] Écriture des valeurs dans le document Excel
|
||||||
|
$index = 5;
|
||||||
|
foreach($request->grouplist as $group){
|
||||||
|
$index++;
|
||||||
|
|
||||||
|
foreach($group->userlist as $student){
|
||||||
|
$sheet->setCellValue('A'.$index, $student->identifiant);
|
||||||
|
$sheet->setCellValue('B'.$index, $group->formation);
|
||||||
|
$sheet->setCellValue('C'.$index, $group->nom);
|
||||||
|
$sheet->setCellValue('D'.$index, 'À compléter');
|
||||||
|
$index++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// [6] On enregistre ce nouveau fichier, et on lance son téléchargement
|
||||||
|
$filePath = __EXCEL_PATH__.$_SESSION['identifiant'].'_export_jury.xlsx';
|
||||||
|
$writer->save( $filePath );
|
||||||
|
|
||||||
|
|
||||||
|
// [7] On retourne l'état du traitement 'success'
|
||||||
|
$answer->request = 'success';
|
||||||
|
|
||||||
|
// [8] On retourne le chemin relatif du serveur
|
||||||
|
$answer->pathfile = '/src/files/'.$_SESSION['identifiant'].'_export_jury.xlsx';
|
||||||
|
}
|
||||||
|
|
||||||
|
// [7] On retourne l'état du traitement 'param_error'
|
||||||
|
else
|
||||||
|
$answer->request = 'param_error';
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
/************************************/
|
/************************************/
|
||||||
/* Importation des résulats du jury */
|
/* Importation des résulats du jury */
|
||||||
/************************************/
|
/************************************/
|
||||||
|
@ -441,8 +507,6 @@ class excelManager{
|
||||||
|
|
||||||
// Boucle sur le format suivant : ligne[0] : [IDETUDIANT] / ligne[1] : [DECISION JURY]
|
// Boucle sur le format suivant : ligne[0] : [IDETUDIANT] / ligne[1] : [DECISION JURY]
|
||||||
|
|
||||||
// / ! \ LES RESULTATS NE DOIVENT PAS ETRE NOMINATIFs, UTILISER LES IDENTIFIANTS DES ÉTUDIANTS / ! \
|
|
||||||
|
|
||||||
$i = 0;
|
$i = 0;
|
||||||
|
|
||||||
foreach($mccData as $line) {
|
foreach($mccData as $line) {
|
||||||
|
@ -464,62 +528,6 @@ class excelManager{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// /************************************/
|
|
||||||
// /* Exportation des résulats du jury */
|
|
||||||
// /************************************/
|
|
||||||
// case 'export_fiche_resultat_jury':
|
|
||||||
|
|
||||||
// //vérificationd du paramètre en entrée
|
|
||||||
|
|
||||||
// if(isset($request->formation) && isset($request->semestre)){
|
|
||||||
|
|
||||||
// // Création / Activation de la feuille
|
|
||||||
|
|
||||||
// $workbook = new PHPExcel();
|
|
||||||
// $sheet = $workbook->getActiveSheet();
|
|
||||||
// $writer = new PHPExcel_Writer_Excel2007($workbook);
|
|
||||||
|
|
||||||
// $workbook->getProperties()->setTitle("ResultatJury"." ".$request->formation." ".$request->semestre.date("d/m/Y G:m"));
|
|
||||||
|
|
||||||
// $sheet->getColumnDimension('A')->setWidth(20);
|
|
||||||
// $sheet->getColumnDimension('B')->setWidth(20);
|
|
||||||
// $sheet->getColumnDimension('C')->setWidth(20);
|
|
||||||
// $sheet->getColumnDimension('D')->setWidth(20);
|
|
||||||
|
|
||||||
// // Écriture de l'en-tête du document
|
|
||||||
|
|
||||||
// $sheet->setCellValue('A1', 'Résultats jury');
|
|
||||||
// $sheet->setCellValue('B1',$request->formation);
|
|
||||||
// $sheet->setCellValue('C1',$request->semestre);
|
|
||||||
// $sheet->setCellValue('D1', date("d/m/Y G:m"));
|
|
||||||
// $sheet->setCellValue('A3',"Id Étudiant");
|
|
||||||
// $sheet->setCellValue('B3',"Avis jury");
|
|
||||||
|
|
||||||
|
|
||||||
// $i = 6;
|
|
||||||
|
|
||||||
// while(// TANT QUE IL Y A UN ELEVE) {
|
|
||||||
|
|
||||||
// $sheet->setCellValue('A'.$i,// ID ELEVE);
|
|
||||||
// $sheet->setCellValue('B'.$i,// AVIS JURY);
|
|
||||||
// $i++;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// // Sauvegarde du fichier sous le format .xlsx
|
|
||||||
|
|
||||||
// $writer->save("ResultatJury"." ".$request->formation." ".$request->semestre.date("d/m/Y G:m").'xlsx' );
|
|
||||||
// $answer->request = 'success';
|
|
||||||
// }
|
|
||||||
|
|
||||||
// //Si il y a un problème dans les paramètre(s)
|
|
||||||
|
|
||||||
// else {
|
|
||||||
|
|
||||||
// $answer->request='param_error';
|
|
||||||
// }
|
|
||||||
|
|
||||||
// break;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -428,6 +428,72 @@ if( document.querySelector('#CONTAINER section[name=allcontroles]') != null ){ /
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************/
|
||||||
|
/* GESTION DE L'EXPORT DE JURY */
|
||||||
|
/*******************************/
|
||||||
|
var exportJury = document.getElementById('export_jury');
|
||||||
|
if( exportJury != null ){
|
||||||
|
|
||||||
|
exportJury.addEventListener('click', function(e){
|
||||||
|
var selectedSemestre = document.querySelector("#CONTAINER > section[name] > .p > div.partlist[name] > span[data-stre][data-year].active");
|
||||||
|
|
||||||
|
// on récupère l'année et le semestre selectionnés
|
||||||
|
var fSemestre = (selectedSemestre!=null) ? selectedSemestre.dataset.stre : null;
|
||||||
|
var fAnnee = (selectedSemestre!=null) ? selectedSemestre.dataset.year : null;
|
||||||
|
|
||||||
|
console.log(fSemestre);
|
||||||
|
console.log(fAnnee);
|
||||||
|
|
||||||
|
/* [1] On récupère la liste des groupes en question (groupManager)
|
||||||
|
===================================================================*/
|
||||||
|
/* (1) Tous les semestres */
|
||||||
|
var request1;
|
||||||
|
if( fSemestre == '*' ){
|
||||||
|
request1 = {
|
||||||
|
level_0: 'groups',
|
||||||
|
level_1: 'grouplistForYear',
|
||||||
|
annee: fAnnee,
|
||||||
|
};
|
||||||
|
}else{
|
||||||
|
request1 = {
|
||||||
|
level_0: 'groups',
|
||||||
|
level_1: 'grouplist',
|
||||||
|
semestre: fSemestre,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
API.send(request1, function(answer1){
|
||||||
|
// si on a bien récupéré les étudiants
|
||||||
|
if( answer1.request == 'success' ){
|
||||||
|
console.log( answer1.grouplist );
|
||||||
|
|
||||||
|
/* [2] On génère le fichier associé (excelManager)
|
||||||
|
===================================================================*/
|
||||||
|
var request2 = {
|
||||||
|
level_0: 'excel',
|
||||||
|
level_1: 'export_jury',
|
||||||
|
grouplist: answer1.grouplist // on envoie la liste qu'on vient de récupérer
|
||||||
|
};
|
||||||
|
|
||||||
|
API.send(request2, function(answer2){
|
||||||
|
if( answer2.request == 'success' ){ // le fichier a bien été généré, on lance le téléchargement
|
||||||
|
document.location = answer2.pathfile;
|
||||||
|
reload();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}, false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* GESTION DE PUBLICATION DES NOTES D'UN CONTRÔLE */
|
/* GESTION DE PUBLICATION DES NOTES D'UN CONTRÔLE */
|
||||||
|
|
|
@ -858,7 +858,7 @@ if( permission('master') || permission('admin') ){
|
||||||
/**********************/
|
/**********************/
|
||||||
/* AFFINAGE PAR ANNEE */
|
/* AFFINAGE PAR ANNEE */
|
||||||
/**********************/
|
/**********************/
|
||||||
echo "Exportation des MCC d'un semestre<br>";
|
echo "Exportation des feuilles jury d'un semestre<br>";
|
||||||
echo "<span style='font-size:.8em;'>(Format compatible Microsoft Office, Open Office et Libre Office)</span><br>";
|
echo "<span style='font-size:.8em;'>(Format compatible Microsoft Office, Open Office et Libre Office)</span><br>";
|
||||||
|
|
||||||
/* AFFINAGE POUR LES 5 ANNEES SUIVANTES */
|
/* AFFINAGE POUR LES 5 ANNEES SUIVANTES */
|
||||||
|
@ -929,8 +929,7 @@ if( permission('master') || permission('admin') ){
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
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' id='export_jury'>Télécharger le fichier</div>";
|
||||||
echo "<div data-year='".$anneeOpt."' data-stre='".$semestreOpt."' class='confirm active center'>Télécharger le fichier</div>";
|
|
||||||
|
|
||||||
|
|
||||||
echo "</div>";
|
echo "</div>";
|
||||||
|
@ -952,8 +951,8 @@ if( permission('master') || permission('admin') ){
|
||||||
$anneeOpt = intval($anneeOpt); // on met l'année en (int)
|
$anneeOpt = intval($anneeOpt); // on met l'année en (int)
|
||||||
|
|
||||||
echo "<div class='p center'>";
|
echo "<div class='p center'>";
|
||||||
echo "Importation des MCC d'un semestre<br>";
|
echo "Importation des mentions jury d'un semestre<br>";
|
||||||
echo "<span style='font-size:.8em;'>(Fichier .xlsx suivant le modèle : <a href='/src/files/modele_import_mcc.xlsx'>modèle de fichier</a>)</span><br>";
|
echo "<span style='font-size:.8em;'>(Fichier .xlsx suivant le modèle : <a href='/src/files/modele_import_jury.xlsx'>modèle de fichier</a>)</span><br>";
|
||||||
|
|
||||||
|
|
||||||
/**********************/
|
/**********************/
|
||||||
|
@ -996,9 +995,9 @@ if( permission('master') || permission('admin') ){
|
||||||
foreach($annee['semestres'] as $semestre){ if( in_array($semestre['id'], $semestresListe) ){
|
foreach($annee['semestres'] as $semestre){ if( in_array($semestre['id'], $semestresListe) ){
|
||||||
|
|
||||||
if( $semestre['id'] == $semestreOpt ) // si c'est le semestre séléctionné
|
if( $semestre['id'] == $semestreOpt ) // si c'est le semestre séléctionné
|
||||||
echo "<span data-frm='".$semestre['id_formation']."' data-stre='".$semestre['id']."' class='active'>".$semestre['formation']." - ".$semestre['nom'].'</span>';
|
echo "<span data-year='".$anneeOpt."' data-stre='".$semestre['id']."' class='active'>".$semestre['formation']." - ".$semestre['nom'].'</span>';
|
||||||
else // sinon on affiche normalement
|
else // sinon on affiche normalement
|
||||||
echo "<span data-frm='".$semestre['id_formation']."' data-stre='".$semestre['id']."'>".$semestre['formation']." - ".$semestre['nom'].'</span>';
|
echo "<span data-year='".$anneeOpt."' data-stre='".$semestre['id']."'>".$semestre['formation']." - ".$semestre['nom'].'</span>';
|
||||||
|
|
||||||
}}
|
}}
|
||||||
echo "</div><br><br>";
|
echo "</div><br><br>";
|
||||||
|
|
|
@ -635,7 +635,6 @@ if( permission('master') || permission('admin') ){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
echo "<div data-year='".$anneeOpt."' data-stre='".$semestreOpt."' class='confirm active center' id='generate_export'>Générer le fichier</div>";
|
|
||||||
echo "<div data-year='".$anneeOpt."' data-stre='".$semestreOpt."' class='confirm active center' id='export_grouplist'>Télécharger le fichier</div>";
|
echo "<div data-year='".$anneeOpt."' data-stre='".$semestreOpt."' class='confirm active center' id='export_grouplist'>Télécharger le fichier</div>";
|
||||||
|
|
||||||
|
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue