Skip to content
Snippets Groups Projects
Commit d0224d8c authored by Thomas Fradet's avatar Thomas Fradet
Browse files

suivi dl table group when all groups

parent c00d8d0e
No related branches found
No related tags found
Loading
...@@ -30,9 +30,6 @@ require_once($CFG->libdir . '/completionlib.php'); ...@@ -30,9 +30,6 @@ require_once($CFG->libdir . '/completionlib.php');
$completion = new completion_info($course); $completion = new completion_info($course);
$context = context_course::instance($COURSE->id); $context = context_course::instance($COURSE->id);
/* Groupes du cours avec id, nom et liste des id utilisateur de tous les membres (3 clefs d'un tableau de groupes : id, name, member) */
$groups = groups_get_all_groups($COURSE->id, 0, 0, 'g.*', false);
/* Groupe du GET provenant du sélecteur de la page du cours, ou premier groupe de l'utilisateur, ou groupe 0 (tous les groupes). */ /* Groupe du GET provenant du sélecteur de la page du cours, ou premier groupe de l'utilisateur, ou groupe 0 (tous les groupes). */
$active_group_id = $_GET['groupid']; $active_group_id = $_GET['groupid'];
// @TODO à supprimer si pas utilisé dans le JS (mettre dans la clause IF pour éviter un appel inutile si le GET existe) // @TODO à supprimer si pas utilisé dans le JS (mettre dans la clause IF pour éviter un appel inutile si le GET existe)
...@@ -46,6 +43,13 @@ if ($active_group_id == NULL || ($active_group_id == 0 && !has_capability('cours ...@@ -46,6 +43,13 @@ if ($active_group_id == NULL || ($active_group_id == 0 && !has_capability('cours
} }
} }
/* Groupes du cours avec id, nom et liste des id utilisateur de tous les membres (3 clefs d'un tableau de groupes : id, name, member) */
if ( $active_group_id == 0 ) {
$groups = groups_get_all_groups($COURSE->id, 0, 0, 'g.*', true);
} else {
$groups = groups_get_all_groups($COURSE->id, 0, 0, 'g.*', false);
}
$current_user_groups = []; $current_user_groups = [];
$active_group_name = ""; $active_group_name = "";
foreach ($groups as $group) { foreach ($groups as $group) {
...@@ -73,6 +77,19 @@ $progress = $completion->get_progress_all( ...@@ -73,6 +77,19 @@ $progress = $completion->get_progress_all(
$context $context
); );
/* Ajoute les groupes de l'utilisateur pour l'afficher dans l'export */
/* Si le user a le droit d'afficher pour tous les groupes ou qu'il n'y en a pas, on récupère le groupe de l'utilisateur pour qu'il puisse être téléchargé dans le tableau blobal intergroupe. */
if ( $active_group_id == 0 ) {
foreach ($progress as $prog) {
$prog->groups = "";
foreach ($groups as $group) {
if ( in_array($prog->id, $group->members) ) {
$prog->groups .= $group->name . " ";
}
}
}
}
/* Liste de toutes les activités du cours (sauf en attente de suppression). La liste est épurée et constitue un tableau d'objet. */ /* Liste de toutes les activités du cours (sauf en attente de suppression). La liste est épurée et constitue un tableau d'objet. */
$activities = $completion->get_activities(); $activities = $completion->get_activities();
$modules = []; $modules = [];
...@@ -121,7 +138,7 @@ if (isset($_GET['filter'])) { ...@@ -121,7 +138,7 @@ if (isset($_GET['filter'])) {
// var_dump($progress); // var_dump($progress);
// var_dump($sections); // var_dump($sections);
// var_dump($modules); // var_dump($modules);
// var_dump($groups); // print_r($groups);
// var_dump($results); // var_dump($results);
// var_dump($current_user_groups_ids); // var_dump($current_user_groups_ids);
// var_dump($current_user_groups); // var_dump($current_user_groups);
...@@ -379,7 +396,7 @@ if (isset($_GET['filter'])) { ...@@ -379,7 +396,7 @@ if (isset($_GET['filter'])) {
<div class="table-dl"> <div class="table-dl">
<a href="#">Télécharger ce tableau</a> <a href="#">Télécharger ce tableau</a>
<p>Télécharge le tableau pour la section et le groupe sélectionné en haut de page. Les autres filtres ne sont pas pris en compte pour cet export. Sélectionnez "Tout" en haut de page pour chaque filtre si vous souhaitez le tableau complet.</p> <p>Télécharge le tableau pour la section et le groupe sélectionné en haut de page. Les autres filtres ne sont pas pris en compte pour cet export. Sélectionnez "Tout" en haut de page pour chaque filtre si vous souhaitez le tableau complet. Dans le tableau téléchargé : 0 = non achevé ; 1 = achevé ; 0,5 = essayé mais échoué ; 2 = réussi. </p>
</div> </div>
<script type="text/javascript"> <script type="text/javascript">
...@@ -758,15 +775,24 @@ var data = { ...@@ -758,15 +775,24 @@ var data = {
activities_nbr++; activities_nbr++;
} }
console.log(done_activities_nbr) // console.log(done_activities_nbr)
console.log(activities_nbr) // console.log(activities_nbr)
var perc = Math.round(100 * 100 * done_activities_nbr / activities_nbr) / 100; var perc = Math.round(100 * 100 * done_activities_nbr / activities_nbr) / 100;
// console.log(data.progress[s]);
var groups = '"';
if ( data.active_group_name != "" ) {
groups += data.active_group_name.replace('"', '');
} else {
groups += data.progress[s].groups.replace('"', '');
}
groups += '"';
var arr = [ var arr = [
data.progress[s].id, data.progress[s].id,
data.progress[s].firstname, data.progress[s].firstname,
data.progress[s].lastname, data.progress[s].lastname,
'"' + data.active_group_name.replace('"', '') + '"', groups,
'"'+perc.toLocaleString()+'"', '"'+perc.toLocaleString()+'"',
arr_cpl arr_cpl
]; ];
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment