Possibilité pour 'master'/'admin' de changer l'année de visualisation reste à bloquer la modification des années précédentes

This commit is contained in:
xdrm-brackets 2015-11-30 19:17:39 +01:00
parent 8df502062f
commit d6a7b7885b
7 changed files with 108 additions and 14 deletions

View File

@ -54,16 +54,16 @@
error_reporting(-1);
}debug();
// function distinctArray($inArray){
// $outArray = array();
// foreach($inArray as $value) // pour chaque élément du tableau d'entrée, on l'ajoute uniquement si aucune entrée du tableau de sortie n'a la même valeur
// if( !in_array($value, $outArray) )
// array_push($outArray, $value);
function getCurrentYear(){
if( Date('m', time()) < 8 ) return Date('Y', time()) - 1;
else return Date('Y', time());
}
// return $outArray;
// }
function anneeScolaire($year){
return $year.' - '.($year+1);
}
function secure_sha1($text){
$salt = '!!-vi_v93DFeswgf9de2b4d34ev!XX!x%';

View File

@ -106,6 +106,23 @@ require_once __ROOT__.'/manager/database.php';
break;
/******************************************/
/* change l'année en cours (master/admin) */
/******************************************/
case 'changeyear': if( permission('master') || permission('admin') ){
if( isset($request->year) && is_numeric($request->year) ){
$_SESSION['annee'] = (String) $request->year;
$answer->request = 'success';
}else
$answer->request = 'param_error';
}else
$answer->request = 'permission_error';
break;
/************************************/
/* modifie le rôle d'un utilisateur */
/************************************/
@ -248,7 +265,7 @@ require_once __ROOT__.'/manager/database.php';
// on récupère l'année courante (1er sept à 1er sept)
// SI (mois < 8) ALORS (annee - 1) SINON (annee)
$_SESSION['annee'] = (Date('m', time())<8) ? Date('Y', time()) - 1 : Date('Y', time());
$_SESSION['annee'] = getCurrentYear();
// on défini si le semestre est pair ou non
$_SESSION['semestre_pair'] = semestrePair(time());

View File

@ -244,4 +244,41 @@ if( roleSection != null ){
}
/* GESTION DU CHANGEMENT D'ANNÉE */
var changeYear = {
select: document.querySelector('#CONTAINER section[name=changeyear] #yeartochange'),
button: document.querySelector('#CONTAINER section[name=changeyear] #change_year')
};
// si la page existe, on créé l'évènement
if( changeYear.select != null && changeYear.button != null ){
changeYear.button.addEventListener('click', function(e){
// on créé la requête à envoyer
var request = {
level_0: 'user',
level_1: 'changeyear',
year: changeYear.select.value
};
// on envoie la requête à l'API
API.send(request, function(answer){
if( answer.request == 'success' ){
selectSection('home');
}
});
}, false);
}

View File

@ -540,7 +540,6 @@ if( permission('admin') || permission('master') ){ // si l'utilisateur est conne
<?php
function anneeScolaire($year){ return $year.' - '.($year+1); }
/*********************************/
/*** IMPORTATION FICHIER EXCEL ***/
/*********************************/

View File

@ -497,9 +497,6 @@ if( permission('master') || permission('admin') ){ // si l'utilisateur est un ad
function anneeScolaire($year){ return $year.' - '.($year+1); }

View File

@ -268,3 +268,48 @@ if( permission('admin') ){
}
}
/***********************/
/*** CHANGER L'ANNEE ***/
/***********************/
if( permission('master') || permission('admin') ){
require_once __ROOT__.'/manager/groups.php';
$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 "<section name='changeyear' data-title='Autre année'>";
echo "<div class='p center'>";
echo "Changement de l'année de visualisation<br>";
echo "<span style='font-size:.8em;'>(uniquement les années référencées dans la base)</span><br>";
$anneesListe = array();
/* CHOIX DANS LES ANNEES EXISTANTES */
echo "<select id='yeartochange'>";
foreach($answer->yearList as $annee){ if( !in_array($annee['annee'], $anneesListe) ){ // pour éviter les doublons
if( $_SESSION['annee'] == $annee['annee'] ) // on préselectionne l'année de visualisation en cours
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>";
echo "<div id='change_year' class='confirm active center'>Changer l'année</div>";
echo "</div>";
echo "</section>";
}
}

View File

@ -45,8 +45,7 @@ require_once __ROOT__.'/manager/security.php';
debug();
$_SESSION['annee'] = 2019;
var_dump( $_SESSION['annee'] );
// $_SESSION['annee'] = 2015;
// require_once __ROOT__.'/manager/phpExcel.php';