Correction de la liste de proposition de changement de groupe (maintenant exhaustive) + correction de relation dans requête d'affichage des manager/repo@membres
This commit is contained in:
parent
917fdec52f
commit
853f2ec03e
|
@ -465,12 +465,6 @@ class DataBase{
|
||||||
/*** retourne la liste des utilisateurs des groupes d'une année ***/
|
/*** retourne la liste des utilisateurs des groupes d'une année ***/
|
||||||
/******************************************************************/
|
/******************************************************************/
|
||||||
public function listeEtudiantsTousGroupesAnnee($annee, $semestre_pair){
|
public function listeEtudiantsTousGroupesAnnee($annee, $semestre_pair){
|
||||||
/*** on cherche un semestre avec ce rang et cette année (qui est unique) ***/
|
|
||||||
$checkAnnee = DataBase::getPDO()->prepare("SELECT id_semestre as id FROM semestre WHERE annee = :annee");
|
|
||||||
$checkAnnee->execute(array( ':annee' => $annee ));
|
|
||||||
if( !( $checkAnnee->fetch()['id'] ) ) return 'unknown_year';
|
|
||||||
|
|
||||||
|
|
||||||
// on récupère la liste des groupes
|
// on récupère la liste des groupes
|
||||||
$grouplist = DataBase::delNumeric( groupRepo::forYear($semestre_pair, $annee) );
|
$grouplist = DataBase::delNumeric( groupRepo::forYear($semestre_pair, $annee) );
|
||||||
|
|
||||||
|
@ -512,9 +506,9 @@ class DataBase{
|
||||||
|
|
||||||
// on vérifie que le semestre et que le groupe de destination existent
|
// on vérifie que le semestre et que le groupe de destination existent
|
||||||
if( !($semestreInfo=semestreRepo::info($semestre)) ) return 'unknown_semestre';
|
if( !($semestreInfo=semestreRepo::info($semestre)) ) return 'unknown_semestre';
|
||||||
if( !($destGroupeUID=groupRepo::UID($groupe)) ) return 'unknown_newgroup';
|
if( !($destGroupeInfo=groupRepo::info($groupe)) ) return 'unknown_newgroup';
|
||||||
|
|
||||||
if( groupRepo::ajouterMembre($etudiant, $destGroupeUID, $semestreInfo['id']) )
|
if( groupRepo::ajouterMembre($etudiant, $destGroupeInfo['id'], $semestreInfo['id']) )
|
||||||
return 'success';
|
return 'success';
|
||||||
else
|
else
|
||||||
return 'error';
|
return 'error';
|
||||||
|
@ -523,6 +517,27 @@ class DataBase{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* retourne la liste exhaustive des groupes de la BDD
|
||||||
|
*
|
||||||
|
* @return grouplist<Array> la liste de tous les groupes de la BDD
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public function getExhaustiveGroupList(){
|
||||||
|
$grouplist = groupRepo::getAllGroups();
|
||||||
|
|
||||||
|
// on essaie de supposer le semestre en fonction du nom
|
||||||
|
foreach($grouplist as $i=>$group)
|
||||||
|
if( preg_match('/^(?:.+)?S(\d)(?:.+)?$/', $group['nom'], $m) ) // si le semestre est dans le nom
|
||||||
|
$grouplist[$i]['rang'] = intval($m[1]); // on récupère le rang
|
||||||
|
else
|
||||||
|
$grouplist[$i]['rang'] = null; // sinon rang = null
|
||||||
|
|
||||||
|
|
||||||
|
return $grouplist;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -231,12 +231,11 @@ require_once __ROOT__.'/manager/database.php';
|
||||||
case 'move': if( permission('admin') ){
|
case 'move': if( permission('admin') ){
|
||||||
|
|
||||||
$areSetParam = isset($request->etudiant) && isset($request->groupe) && isset($request->semestre); // les arguments existent
|
$areSetParam = isset($request->etudiant) && isset($request->groupe) && isset($request->semestre); // les arguments existent
|
||||||
$typeOkParam = $areSetParam && is_string($request->etudiant) && is_string($request->groupe); // si c'est des strings
|
$typeOkParam = $areSetParam && is_string($request->etudiant) && is_numeric($request->groupe); // si c'est des strings
|
||||||
$nEmptyParam = $typeOkParam && strlen($request->etudiant) > 0 && strlen($request->groupe) > 0 && is_numeric($request->semestre); // d'au moins 1 caractère
|
$nEmptyParam = $typeOkParam && strlen($request->etudiant) > 0 && is_numeric($request->semestre); // d'au moins 1 caractère
|
||||||
$etudiantCheck = $nEmptyParam && preg_match('/^[\w -]{3,50}$/i', $request->etudiant); // etudiant (username) bon format
|
$etudiantCheck = $nEmptyParam && preg_match('/^[\w -]{3,50}$/i', $request->etudiant); // etudiant (username) bon format
|
||||||
$groupeCheck = $etudiantCheck && preg_match('/^[a-z0-9 -]{1,10}$/i', $request->groupe); // groupe (nom) bon format
|
|
||||||
|
|
||||||
if( $groupeCheck ){ // si param ok
|
if( $etudiantCheck ){ // si param ok
|
||||||
$answer->request = DataBase::getInstance()->deplacerEtudiant($request->etudiant, $request->groupe, $request->semestre);
|
$answer->request = DataBase::getInstance()->deplacerEtudiant($request->etudiant, $request->groupe, $request->semestre);
|
||||||
}else
|
}else
|
||||||
$answer->request = 'param_error';
|
$answer->request = 'param_error';
|
||||||
|
@ -247,6 +246,21 @@ require_once __ROOT__.'/manager/database.php';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/******************************************/
|
||||||
|
/* la liste de TOUS les groupes de la BDD */
|
||||||
|
/******************************************/
|
||||||
|
case 'exhaustiveList': if( permission('admin') ){
|
||||||
|
|
||||||
|
$answer->grouplist = DataBase::getInstance()->getExhaustiveGroupList();
|
||||||
|
$answer->request = 'success';
|
||||||
|
|
||||||
|
}else
|
||||||
|
$answer->request = 'permission_error';
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************/
|
/*******************************************/
|
||||||
/* intégration des élèves pour un semestre */
|
/* intégration des élèves pour un semestre */
|
||||||
/*******************************************/
|
/*******************************************/
|
||||||
|
@ -262,6 +276,11 @@ require_once __ROOT__.'/manager/database.php';
|
||||||
$answer->request = 'permission_error';
|
$answer->request = 'permission_error';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/***********/
|
/***********/
|
||||||
/* DEFAULT */
|
/* DEFAULT */
|
||||||
/***********/
|
/***********/
|
||||||
|
|
|
@ -41,7 +41,7 @@ class groupRepo extends DBAccess{
|
||||||
*/
|
*/
|
||||||
public static function info($groupeUID){
|
public static function info($groupeUID){
|
||||||
// on considère que le groupe existe
|
// on considère que le groupe existe
|
||||||
$getGroupeInfo = DataBase::getPDO()->prepare("SELECT id_groupe as id, nom, libelle 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 DataBase::delNumeric( $getGroupeInfo->fetch(), true );
|
||||||
|
@ -121,7 +121,7 @@ class groupRepo extends DBAccess{
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static function ajouterMembre($etudiant, $groupe, $semestre){
|
public static function ajouterMembre($etudiant, $groupe, $semestre){
|
||||||
debug();
|
|
||||||
/* [1] On vérifie si l'utilisateur appartient à un groupe pour ce semestre
|
/* [1] On vérifie si l'utilisateur appartient à un groupe pour ce semestre
|
||||||
===========================================================================*/
|
===========================================================================*/
|
||||||
if( $appartenanceUID = groupRepo::forStudent($etudiant, $semestre)['id_appartenance'] ){ // si c'est le cas
|
if( $appartenanceUID = groupRepo::forStudent($etudiant, $semestre)['id_appartenance'] ){ // si c'est le cas
|
||||||
|
@ -143,11 +143,7 @@ class groupRepo extends DBAccess{
|
||||||
==============================*/
|
==============================*/
|
||||||
// création et exécution de la requête de création d'appartenance
|
// création et exécution de la requête de création d'appartenance
|
||||||
$ajouterMembres = DataBase::getPDO()->prepare("INSERT INTO appartenance(id_etudiant, id_groupe, id_semestre)
|
$ajouterMembres = DataBase::getPDO()->prepare("INSERT INTO appartenance(id_etudiant, id_groupe, id_semestre)
|
||||||
VALUES(
|
VALUES(:etudiant, :groupe, :semestre)");
|
||||||
(SELECT identifiant FROM utilisateur WHERE identifiant = :etudiant),
|
|
||||||
(SELECT id_groupe FROM groupe WHERE id_groupe = :groupe),
|
|
||||||
(SELECT id_semestre FROM semestre WHERE id_semestre = :semestre)
|
|
||||||
)");
|
|
||||||
$ajouterMembres->execute(array(
|
$ajouterMembres->execute(array(
|
||||||
':etudiant' => $etudiant,
|
':etudiant' => $etudiant,
|
||||||
':groupe' => $groupe,
|
':groupe' => $groupe,
|
||||||
|
@ -179,7 +175,7 @@ class groupRepo extends DBAccess{
|
||||||
WHERE s.id_formation = f.id_formation
|
WHERE s.id_formation = f.id_formation
|
||||||
AND u.identifiant = app.id_etudiant
|
AND u.identifiant = app.id_etudiant
|
||||||
AND g.id_groupe = app.id_groupe
|
AND g.id_groupe = app.id_groupe
|
||||||
AND app.id_semestre = app.id_semestre
|
AND app.id_semestre = s.id_semestre
|
||||||
|
|
||||||
AND g.id_groupe = :groupeUID
|
AND g.id_groupe = :groupeUID
|
||||||
AND s.id_semestre = :semestreUID
|
AND s.id_semestre = :semestreUID
|
||||||
|
@ -241,23 +237,23 @@ class groupRepo extends DBAccess{
|
||||||
|
|
||||||
$getGroupeList = DataBase::getPDO()->prepare("SELECT DISTINCT g.id_groupe as id, g.nom, s.rang, s.id_semestre, s.nom as semestre, f.id_formation, f.code as formation, f.nom as nom_formation
|
$getGroupeList = DataBase::getPDO()->prepare("SELECT DISTINCT g.id_groupe as id, g.nom, s.rang, s.id_semestre, s.nom as semestre, f.id_formation, f.code as formation, f.nom as nom_formation
|
||||||
FROM module as m, utilisateur as u, utilisateur as eleve, groupe as g, enseignement as ens, mcc_ue, mcc_module as mcc_m, semestre as s, appartenance as app, formation as f
|
FROM module as m, utilisateur as u, utilisateur as eleve, groupe as g, enseignement as ens, mcc_ue, mcc_module as mcc_m, semestre as s, appartenance as app, formation as f
|
||||||
WHERE s.id_formation = f.id_formation
|
WHERE s.id_formation = f.id_formation
|
||||||
AND mcc_ue.id_semestre = s.id_semestre
|
AND mcc_ue.id_semestre = s.id_semestre
|
||||||
AND mcc_ue.id_mcc_ue = mcc_m.id_mcc_ue
|
AND mcc_ue.id_mcc_ue = mcc_m.id_mcc_ue
|
||||||
|
|
||||||
AND mcc_m.id_module = m.id_module
|
AND mcc_m.id_module = m.id_module
|
||||||
AND mcc_m.id_mcc_module = ens.id_mcc_module
|
AND mcc_m.id_mcc_module = ens.id_mcc_module
|
||||||
|
|
||||||
AND ens.id_enseignant = u.identifiant
|
AND ens.id_enseignant = u.identifiant
|
||||||
AND ens.correcteur = 1
|
AND ens.correcteur = 1
|
||||||
|
|
||||||
AND app.id_etudiant = eleve.identifiant
|
AND app.id_etudiant = eleve.identifiant
|
||||||
AND app.id_semestre = s.id_semestre
|
AND app.id_semestre = s.id_semestre
|
||||||
AND app.id_groupe = g.id_groupe
|
AND app.id_groupe = g.id_groupe
|
||||||
|
|
||||||
AND u.identifiant = :enseignant
|
AND u.identifiant = :enseignant
|
||||||
AND (s.rang % 2 = :semestre_pair0 OR s.rang % 2 = :semestre_pair1)
|
AND (s.rang % 2 = :semestre_pair0 OR s.rang % 2 = :semestre_pair1)
|
||||||
AND s.annee = :annee
|
AND s.annee = :annee
|
||||||
ORDER BY s.rang, g.nom");
|
ORDER BY s.rang, g.nom");
|
||||||
$getGroupeList->execute(array( ':enseignant' => $enseignant, ':semestre_pair0' => $semestrePair0, ':semestre_pair1' => $semestrePair1, ':annee' => $annee ));
|
$getGroupeList->execute(array( ':enseignant' => $enseignant, ':semestre_pair0' => $semestrePair0, ':semestre_pair1' => $semestrePair1, ':annee' => $annee ));
|
||||||
|
|
||||||
|
@ -325,6 +321,17 @@ class groupRepo extends DBAccess{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* retourne la liste exhaustive des groupes
|
||||||
|
*
|
||||||
|
* @return groupes<Array> retourne la liste des groupes de la BDD
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public static function getAllGroups(){
|
||||||
|
$getGroupList = DataBase::getPDO()->query("SELECT id_groupe as id, nom FROM groupe ORDER BY nom ASC");
|
||||||
|
// $getGroupList = DataBase::getPDO()->query("SELECT id_groupe as id, nom FROM groupe WHERE length(nom) <= 6 ORDER BY nom ASC");
|
||||||
|
|
||||||
|
return DataBase::delNumeric( $getGroupList->fetchAll() );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
219
page/groups.php
219
page/groups.php
|
@ -362,164 +362,169 @@ if( permission('teacher') ){ // si l'utilisateur est connecté et que c'est un
|
||||||
/****************************/
|
/****************************/
|
||||||
if( permission('admin') ){ // si l'utilisateur est connecté et que c'est un admin
|
if( permission('admin') ){ // si l'utilisateur est connecté et que c'est un admin
|
||||||
|
|
||||||
for( $i = 2 ; $i <= 2 ; $i++ ){ // pour chaque semestre
|
|
||||||
|
|
||||||
$request = new stdClass();
|
$requestAllGroups = new stdClass(); $answerAllGroups = new stdClass();
|
||||||
$answer = new stdClass();
|
// on récupère la liste de tous les groupes (pour le déplacement)
|
||||||
|
$requestAllGroups->level_1 = 'exhaustiveList';
|
||||||
|
|
||||||
$request->level_1 = 'grouplistForYear';
|
groups_switch_level_1($requestAllGroups, $answerAllGroups);
|
||||||
$request->annee = $_SESSION['annee'];
|
|
||||||
|
|
||||||
groups_switch_level_1($request, $answer); // on fait la requête pour les groupes en fonction des filtres si définis
|
// on récupère les groupes affichés sur la page
|
||||||
|
$request = new stdClass(); $answer = new stdClass();
|
||||||
|
$request->level_1 = 'grouplistForYear';
|
||||||
|
$request->annee = $_SESSION['annee'];
|
||||||
|
|
||||||
|
|
||||||
if( $answer->request == 'success' && $answer->request == 'success' ){ // si pas d'erreur
|
groups_switch_level_1($request, $answer); // on fait la requête pour les groupes en fonction des filtres si définis
|
||||||
//////////////////////////////////////////////////////////////
|
|
||||||
echo "<section name='movestudents' data-title='Tous les groupes' class='basic'>";
|
|
||||||
|
|
||||||
/* ON RECUPERE UNE LISTE UNIQUE DES SEMESTRES */
|
|
||||||
$ListeUIDFormations = array();
|
|
||||||
$ListeUIDSemestres = array();
|
|
||||||
$ListeUIDGroupes = array();
|
|
||||||
|
|
||||||
// Vérification de la formation si elle est définie
|
if( $answer->request == 'success' && $answerAllGroups->request == 'success' ){ // si pas d'erreur
|
||||||
$verificationUIDFormations = array();
|
//////////////////////////////////////////////////////////////
|
||||||
foreach($answer->grouplist as $groupe) // on récupère la liste des UID de FORMATIONS
|
echo "<section name='movestudents' data-title='Tous les groupes' class='basic'>";
|
||||||
if( !in_array($groupe['id_formation'], $verificationUIDFormations) )
|
|
||||||
array_push($verificationUIDFormations, $groupe['id_formation']);
|
|
||||||
|
|
||||||
$moveStudentsFormationOpt = $formationOpt;
|
/* ON RECUPERE UNE LISTE UNIQUE DES SEMESTRES */
|
||||||
// si la formation optionnelle n'est pas définie ou incohérente, on le fait (première valeur trouvée)
|
$ListeUIDFormations = array();
|
||||||
if( $moveStudentsFormationOpt == null || !in_array($moveStudentsFormationOpt, $verificationUIDFormations) )
|
$ListeUIDSemestres = array();
|
||||||
$moveStudentsFormationOpt = $verificationUIDFormations[0];
|
$ListeUIDGroupes = array();
|
||||||
|
|
||||||
|
// Vérification de la formation si elle est définie
|
||||||
|
$verificationUIDFormations = array();
|
||||||
|
foreach($answer->grouplist as $groupe) // on récupère la liste des UID de FORMATIONS
|
||||||
|
if( !in_array($groupe['id_formation'], $verificationUIDFormations) )
|
||||||
|
array_push($verificationUIDFormations, $groupe['id_formation']);
|
||||||
|
|
||||||
|
$moveStudentsFormationOpt = $formationOpt;
|
||||||
|
// si la formation optionnelle n'est pas définie ou incohérente, on le fait (première valeur trouvée)
|
||||||
|
if( $moveStudentsFormationOpt == null || !in_array($moveStudentsFormationOpt, $verificationUIDFormations) )
|
||||||
|
$moveStudentsFormationOpt = $verificationUIDFormations[0];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**************************/
|
/**************************/
|
||||||
/* AFFINAGE PAR FORMATION */
|
/* AFFINAGE PAR FORMATION */
|
||||||
/**************************/
|
/**************************/
|
||||||
echo "<table class='partlist' name='formation'><tbody><tr>";
|
echo "<table class='partlist' name='formation'><tbody><tr>";
|
||||||
foreach($answer->grouplist as $groupe){ if( !in_array($groupe['id_formation'], $ListeUIDFormations) ){
|
foreach($answer->grouplist as $groupe){ if( !in_array($groupe['id_formation'], $ListeUIDFormations) ){
|
||||||
|
|
||||||
// si c'est la formation séléctionnée
|
// si c'est la formation séléctionnée
|
||||||
if( $groupe['id_formation'] == $moveStudentsFormationOpt ) echo "<td data-value='".$groupe['id_formation']."' class='active'>".$groupe['formation'].'</td>';
|
if( $groupe['id_formation'] == $moveStudentsFormationOpt ) echo "<td data-value='".$groupe['id_formation']."' class='active'>".$groupe['formation'].'</td>';
|
||||||
else echo "<td data-value='".$groupe['id_formation']."'>".$groupe['formation'].'</td>';
|
else echo "<td data-value='".$groupe['id_formation']."'>".$groupe['formation'].'</td>';
|
||||||
|
|
||||||
// on ajoute la formation à la liste pour ne pas la répéter
|
// on ajoute la formation à la liste pour ne pas la répéter
|
||||||
array_push($ListeUIDFormations, $groupe['id_formation']);
|
array_push($ListeUIDFormations, $groupe['id_formation']);
|
||||||
}}
|
}}
|
||||||
echo "</tr></tbody></table>";
|
echo "</tr></tbody></table>";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*************************/
|
/*************************/
|
||||||
/* AFFINAGE PAR SEMESTRE */
|
/* AFFINAGE PAR SEMESTRE */
|
||||||
/*************************/
|
/*************************/
|
||||||
echo "<table class='partlist' name='semestre'><tbody><tr>";
|
echo "<table class='partlist' name='semestre'><tbody><tr>";
|
||||||
if( $semestreOpt == null ) echo "<td data-value='*' class='active'>Tous</td>";
|
if( $semestreOpt == null ) echo "<td data-value='*' class='active'>Tous</td>";
|
||||||
else echo "<td data-value='*'>Tous</td>";
|
else echo "<td data-value='*'>Tous</td>";
|
||||||
|
|
||||||
/* On récupère la liste des SEMESTRES en accord avec la FORMATION sélectionnée */
|
/* On récupère la liste des SEMESTRES en accord avec la FORMATION sélectionnée */
|
||||||
foreach($answer->grouplist as $groupe){ if( $groupe['id_formation'] == $moveStudentsFormationOpt && !in_array($groupe['id_semestre'], $ListeUIDSemestres) ){
|
foreach($answer->grouplist as $groupe){ if( $groupe['id_formation'] == $moveStudentsFormationOpt && !in_array($groupe['id_semestre'], $ListeUIDSemestres) ){
|
||||||
|
|
||||||
// si c'est le semestre séléctionné
|
// si c'est le semestre séléctionné
|
||||||
if( $groupe['id_semestre'] == $semestreOpt ) echo "<td data-value='".$groupe['id_semestre']."' class='active'>".$groupe['semestre'].'</td>';
|
if( $groupe['id_semestre'] == $semestreOpt ) echo "<td data-value='".$groupe['id_semestre']."' class='active'>".$groupe['semestre'].'</td>';
|
||||||
else echo "<td data-value='".$groupe['id_semestre']."'>".$groupe['semestre'].'</td>';
|
else echo "<td data-value='".$groupe['id_semestre']."'>".$groupe['semestre'].'</td>';
|
||||||
|
|
||||||
|
|
||||||
// on ajoute le semestre à la liste pour ne pas le répéter
|
// on ajoute le semestre à la liste pour ne pas le répéter
|
||||||
array_push($ListeUIDSemestres, $groupe['id_semestre']);
|
array_push($ListeUIDSemestres, $groupe['id_semestre']);
|
||||||
}}
|
}}
|
||||||
echo "</tr></tbody></table>";
|
echo "</tr></tbody></table>";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/***********************/
|
/***********************/
|
||||||
/* AFFINAGE PAR GROUPE */
|
/* AFFINAGE PAR GROUPE */
|
||||||
/***********************/
|
/***********************/
|
||||||
echo "<select name='groupe'>";
|
echo "<select name='groupe'>";
|
||||||
if( $groupeOpt == null ) echo "<option value='*' selected>Tous les groupes</option>";
|
if( $groupeOpt == null ) echo "<option value='*' selected>Tous les groupes</option>";
|
||||||
else echo "<option value='*'>Tous les groupes</option>";
|
else echo "<option value='*'>Tous les groupes</option>";
|
||||||
|
|
||||||
/* On récupère la liste des GROUPES en accord avec la FORMATION et le SEMESTRE sélectionnée */
|
/* On récupère la liste des GROUPES en accord avec la FORMATION et le SEMESTRE sélectionnée */
|
||||||
foreach($answer->grouplist as $groupe){ if( $groupe['id_formation'] == $moveStudentsFormationOpt && in_array($groupe['id_semestre'], $ListeUIDSemestres) && !in_array($groupe['id'], $ListeUIDGroupes) ){
|
foreach($answer->grouplist as $groupe){ if( $groupe['id_formation'] == $moveStudentsFormationOpt && in_array($groupe['id_semestre'], $ListeUIDSemestres) && !in_array($groupe['id'], $ListeUIDGroupes) ){
|
||||||
|
|
||||||
// si c'est le groupe sélectionné
|
// si c'est le groupe sélectionné
|
||||||
if( $groupe['id'] == $groupeOpt ) echo "<option value='".$groupe['id']."' selected>".$groupe['nom'].'</option>';
|
if( $groupe['id'] == $groupeOpt ) echo "<option value='".$groupe['id']."' selected>".$groupe['nom'].'</option>';
|
||||||
else echo "<option value='".$groupe['id']."'>".$groupe['nom'].'</option>';
|
else echo "<option value='".$groupe['id']."'>".$groupe['nom'].'</option>';
|
||||||
|
|
||||||
// on ajoute le semestre à la liste pour ne pas le répéter
|
// on ajoute le semestre à la liste pour ne pas le répéter
|
||||||
array_push($ListeUIDGroupes, $groupe['id']);
|
array_push($ListeUIDGroupes, $groupe['id']);
|
||||||
}}
|
}}
|
||||||
echo "</select>";
|
echo "</select>";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
foreach($answer->grouplist as $group){ // pour chaque groupe
|
foreach($answer->grouplist as $group){ // pour chaque groupe
|
||||||
|
|
||||||
if( $group['id_formation'] == $moveStudentsFormationOpt && ($semestreOpt==null || $semestreOpt==$group['id_semestre']) && ($groupeOpt==null || $groupeOpt==$group['id']) ){
|
if( $group['id_formation'] == $moveStudentsFormationOpt && ($semestreOpt==null || $semestreOpt==$group['id_semestre']) && ($groupeOpt==null || $groupeOpt==$group['id']) ){
|
||||||
|
|
||||||
if( count($group['userlist']) > 0 ){ // s'il y a des utilisateurs
|
if( count($group['userlist']) > 0 ){ // s'il y a des utilisateurs
|
||||||
|
|
||||||
echo "<table class='basic col4'>";
|
echo "<table class='basic col5'>";
|
||||||
|
|
||||||
echo '<thead>';
|
echo '<thead>';
|
||||||
echo '<tr>';
|
echo '<tr>';
|
||||||
echo '<th colspan=5>';
|
echo '<th colspan=5>';
|
||||||
echo 'Groupe <span>'.$group['nom'].'</span>';
|
echo 'Groupe <span>'.$group['nom'].'</span>';
|
||||||
echo '</th>';
|
echo '</th>';
|
||||||
echo '</tr>';
|
echo '</tr>';
|
||||||
echo '</thead>';
|
echo '</thead>';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
echo '<tbody>';
|
echo '<tbody>';
|
||||||
|
|
||||||
|
|
||||||
// pour chaque utilisateur
|
// pour chaque utilisateur
|
||||||
foreach($group['userlist'] as $user){
|
foreach($group['userlist'] as $user){
|
||||||
echo '<tr>';
|
echo '<tr>';
|
||||||
echo "<td><span class=link>".$user['identifiant'].'</span></td>';
|
echo "<td><span class=link>".$user['identifiant'].'</span></td>';
|
||||||
echo '<td>'.$user['prenom'].'</td>';
|
echo '<td>'.$user['prenom'].'</td>';
|
||||||
echo '<td>'.$user['nom'].'</td>';
|
echo '<td>'.$user['nom'].'</td>';
|
||||||
// echo '<td><strong><span>'.$group['nom'].'</span></strong></td>';
|
echo '<td>'.$group['nom'].'</td>';
|
||||||
// changement de groupe
|
echo '<td>';
|
||||||
echo '<td>';
|
|
||||||
echo "<select data-stre='".$group['id_semestre']."' class='deplacement_groupe'>";
|
|
||||||
|
|
||||||
foreach($answer->grouplist as $groupemodif) // pour tous les groupes
|
/* CHANGEMENT DE GROUPE */
|
||||||
if( $groupemodif['id_semestre'] == $group['id_semestre'] ) // si c'est un groupe du même semestre uniquement
|
echo "<select data-stre='".$group['id_semestre']."' class='deplacement_groupe'>";
|
||||||
if( $groupemodif['nom'] == $group['nom'] ) // si c'est le groupe en cours, on le pré-sélectionne
|
// on affiche le groupe courant
|
||||||
echo "<option value='".$groupemodif['nom']."' selected>".$groupemodif['nom']."</option>";
|
echo "<option value='".$group['id']."' selected>".$group['nom']."</option>";
|
||||||
else
|
|
||||||
echo "<option value='".$groupemodif['nom']."'>".$groupemodif['nom']."</option>";
|
|
||||||
|
|
||||||
echo '</select>';
|
foreach($answerAllGroups->grouplist as $groupemodif) // pour tous les groupes
|
||||||
echo "<div class='confirm'>déplacer</div>";
|
if( $groupemodif['rang'] == $group['rang'] && $groupemodif['id'] != $group['id'] ) // si c'est un groupe du même rang et pas le groupe actuel
|
||||||
echo '</td>';
|
echo "<option value='".$groupemodif['id']."'>".$groupemodif['nom']."</option>";
|
||||||
echo '</tr>';
|
|
||||||
}
|
|
||||||
|
|
||||||
// echo '<tr><td colspan=5 class=more></td></tr>';
|
echo '</select>';
|
||||||
|
echo "<div class='confirm'>déplacer</div>";
|
||||||
echo '</tbody>';
|
|
||||||
|
|
||||||
echo '</table>';
|
|
||||||
|
|
||||||
|
echo '</td>';
|
||||||
|
echo '</tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
// echo '<tr><td colspan=5 class=more></td></tr>';
|
||||||
|
|
||||||
|
echo '</tbody>';
|
||||||
|
|
||||||
|
echo '</table>';
|
||||||
|
|
||||||
}
|
}
|
||||||
echo '</section>';
|
|
||||||
////////////////////////////////////////////////////////
|
}
|
||||||
}else
|
|
||||||
echo "<section name='movestudents' data-title='Tous les groupes' class='basic'><table class=basic><tbody><tr><td>Aucun groupe trouvé</td></tr></tbody></table></section>";
|
|
||||||
}
|
}
|
||||||
|
echo '</section>';
|
||||||
|
////////////////////////////////////////////////////////
|
||||||
|
}else
|
||||||
|
echo "<section name='movestudents' data-title='Tous les groupes' class='basic'><table class=basic><tbody><tr><td>Aucun groupe trouvé</td></tr></tbody></table></section>";
|
||||||
|
|
||||||
} ?>
|
} ?>
|
||||||
|
|
||||||
|
|
32
test.php
32
test.php
|
@ -46,30 +46,30 @@ require_once __ROOT__.'/manager/security.php';
|
||||||
|
|
||||||
debug();
|
debug();
|
||||||
|
|
||||||
$_SESSION['annee'] = 2018;
|
$_SESSION['annee'] = 2019;
|
||||||
|
|
||||||
require_once __ROOT__.'/manager/phpExcel.php';
|
// require_once __ROOT__.'/manager/phpExcel.php';
|
||||||
require_once __ROOT__.'/manager/groups.php';
|
// require_once __ROOT__.'/manager/groups.php';
|
||||||
|
|
||||||
$r1 = new stdClass(); $a1 = new stdClass();
|
// $r1 = new stdClass(); $a1 = new stdClass();
|
||||||
$r1->level_1 = 'import_inscrits';
|
// $r1->level_1 = 'import_inscrits';
|
||||||
$r1->docPath = __ROOT__.'/src/files/modele_import_inscrits.xlsx';
|
// $r1->docPath = __ROOT__.'/src/files/modele_import_inscrits.xlsx';
|
||||||
|
|
||||||
xlsx_switch_lvl1($r1, $a1);
|
// xlsx_switch_lvl1($r1, $a1);
|
||||||
|
|
||||||
|
|
||||||
if( $a1->request == 'success' ){
|
// if( $a1->request == 'success' ){
|
||||||
|
|
||||||
$r2 = new stdClass(); $a2 = new stdClass();
|
// $r2 = new stdClass(); $a2 = new stdClass();
|
||||||
$r2->level_1 = 'addUserlist';
|
// $r2->level_1 = 'addUserlist';
|
||||||
$r2->rang = 1;
|
// $r2->rang = 1;
|
||||||
$r2->annee = 2018;
|
// $r2->annee = 2018;
|
||||||
$r2->formationList = $a1->formationList;
|
// $r2->formationList = $a1->formationList;
|
||||||
|
|
||||||
groups_switch_level_1($r2, $a2);
|
// groups_switch_level_1($r2, $a2);
|
||||||
|
|
||||||
var_dump( $a2 );
|
// var_dump( $a2 );
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue