Commit d0224d8c authored by Thomas Fradet's avatar Thomas Fradet

suivi dl table group when all groups

parent c00d8d0e
......@@ -30,9 +30,6 @@ require_once($CFG->libdir . '/completionlib.php');
$completion = new completion_info($course);
$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). */
$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)
......@@ -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 = [];
$active_group_name = "";
foreach ($groups as $group) {
......@@ -73,6 +77,19 @@ $progress = $completion->get_progress_all(
$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. */
$activities = $completion->get_activities();
$modules = [];
......@@ -121,7 +138,7 @@ if (isset($_GET['filter'])) {
// var_dump($progress);
// var_dump($sections);
// var_dump($modules);
// var_dump($groups);
// print_r($groups);
// var_dump($results);
// var_dump($current_user_groups_ids);
// var_dump($current_user_groups);
......@@ -379,7 +396,7 @@ if (isset($_GET['filter'])) {
<div class="table-dl">
<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>
<script type="text/javascript">
......@@ -758,15 +775,24 @@ var data = {
activities_nbr++;
}
console.log(done_activities_nbr)
console.log(activities_nbr)
// console.log(done_activities_nbr)
// console.log(activities_nbr)
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 = [
data.progress[s].id,
data.progress[s].firstname,
data.progress[s].lastname,
'"' + data.active_group_name.replace('"', '') + '"',
groups,
'"'+perc.toLocaleString()+'"',
arr_cpl
];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment