diff --git a/manager/excel.php b/manager/excel.php
index cddb33a..117fa2b 100755
--- a/manager/excel.php
+++ b/manager/excel.php
@@ -50,8 +50,7 @@ class excelManager{
$sheet->getColumnDimension('G')->setWidth(10);
// [4] Écriture des colonnes du tableau
- $sheet->setCellValue('B1', "");
- $sheet->setCellValue('A2', date("d/m/Y G:m"));
+ $sheet->setCellValue('A1', date("d/m/Y"));
$sheet->setCellValue('A4', 'Identifiant');
$sheet->setCellValue('B4', 'Prénom');
$sheet->setCellValue('C4', 'Nom');
@@ -415,6 +414,73 @@ class excelManager{
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 */
/************************************/
@@ -428,12 +494,12 @@ class excelManager{
// Chargement du fichier
- $objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
+ $objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
// Placement du curseur sur la première case
- $sheet = $objPHPExcel->getSheet(0);
- $mccData = $sheet->rangeToArray('A2:'.$sheet->getHighestColumn().''.$sheet->getHighestRow());
+ $sheet = $objPHPExcel->getSheet(0);
+ $mccData = $sheet->rangeToArray('A2:'.$sheet->getHighestColumn().''.$sheet->getHighestRow());
// Varaible stack pour les résultats du jury
@@ -441,8 +507,6 @@ class excelManager{
// 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;
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;
-
diff --git a/page/_JS/career.js b/page/_JS/career.js
index 6aaf264..5a6da22 100755
--- a/page/_JS/career.js
+++ b/page/_JS/career.js
@@ -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 */
diff --git a/page/career.php b/page/career.php
index fa6d601..567548f 100755
--- a/page/career.php
+++ b/page/career.php
@@ -858,7 +858,7 @@ if( permission('master') || permission('admin') ){
/**********************/
/* AFFINAGE PAR ANNEE */
/**********************/
- echo "Exportation des MCC d'un semestre
";
+ echo "Exportation des feuilles jury d'un semestre
";
echo "(Format compatible Microsoft Office, Open Office et Libre Office)
";
/* AFFINAGE POUR LES 5 ANNEES SUIVANTES */
@@ -929,8 +929,7 @@ if( permission('master') || permission('admin') ){
- echo "