diff --git a/amd/build/suivi.js b/amd/build/suivi.js index 0c916eb6a0cf440da1234f4a986d9ce1d227097e..2f3bc679908a86e16e193332f94e48f87f2c2dc4 100644 --- a/amd/build/suivi.js +++ b/amd/build/suivi.js @@ -502,21 +502,6 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], //On va recharger dynamiquement les options donc on doit recréer les événements à chaque fois qu'on change de section function registerActivityFilter(){ - /*$("input[type='checkbox'].justone").change(function(){ - var a = $("input[type='checkbox'].justone"); - if(a.length == a.filter(":checked").length){ - console.log("on va sélectionner tout du coup"); - $('.selectall').prop('checked', true); - $(".select-text").html(' Deselect'); - } - else { - console.log("on va décocher le sélectionner tout"); - $('.selectall').prop('checked', false); - $(".select-text").html(' Select'); - } - displayTotalActivitiesFilter(); - });*/ - $("input[type='checkbox'].justone").on('click', function(e){ e.stopPropagation(); var a = $("input[type='checkbox'].justone"); diff --git a/suivi_unit.php b/suivi_unit.php index 3d4ffd41ee5aa4a7a0cb58341afcf28636bfe868..f9f72d96299de3f019871d8485f9f1b49f64d9b7 100644 --- a/suivi_unit.php +++ b/suivi_unit.php @@ -54,7 +54,7 @@ function init_page($course) { } -function get_groups($context, $activegroupid, $progress, $groups) { +function get_groups($context, $activegroupid, $groups) { global $USER, $COURSE; // Groupe du GET provenant du sélecteur de la page du cours // ou premier groupe de l'utilisateur, ou groupe 0 (tous les groupes). @@ -90,7 +90,8 @@ function get_groups($context, $activegroupid, $progress, $groups) { } } - $groupsall->groups = $othergroups; + + $groupsall->othergroups = $othergroups; $groupsall->current_user_groups = $currentusergroups; return $groupsall; @@ -116,7 +117,12 @@ function format_progress($progress, $modules, $groups, $activegroupid, $activese $progressstudent->groups = ""; foreach ($groups as $group) { if (in_array($progressstudent->id, $group->members)) { - $progressstudent->groups .= $group->name . " "; + if(empty( $progressstudent->groups)){ + $progressstudent->groups .= $group->name . ""; + } + else{ + $progressstudent->groups .= ", " .$group->name . " "; + } } } //} @@ -182,7 +188,7 @@ function get_sections($activesectionid) { return $sections; } -function set_filters($data, $filters, $symbols, $sections, $groups, $currentusergroups, $activegroupname, $activesectionid) { +function set_filters($data, $filters, $symbols, $sections, $groups, $currentusergroups, $othergroups, $activesectionid) { if (isset($_GET['filter'])) { $filtercomplete = $_GET['filter']; $symbols[mb_substr($filtercomplete, 0, 1, 'UTF-8')]->selected = "selected"; @@ -195,7 +201,9 @@ function set_filters($data, $filters, $symbols, $sections, $groups, $currentuser $data['filters'] = array_values($filters); $data['symbols'] = array_values($symbols); $data["sections"] = $sections; - $data["groups"] = array_values($groups); + //Ici on récupère les groupes "autres" auxquels je n'appartiens pas + //$data["groups"] = array_values($groups); + $data["othergroups"]=$othergroups; $data['current_user_groups'] = $currentusergroups; if ($activegroupname == "") { @@ -204,11 +212,11 @@ function set_filters($data, $filters, $symbols, $sections, $groups, $currentuser $data['data'] = array(); $data['data']["sections"] = $sections; - $data['data']["groups"] = array_values($groups); + //$data['data']["groups"] = array_values($groups); $data['data']['current_user_groups'] = $currentusergroups; - $data['data']['active_group_name'] = $activegroupname; $data['data']['active_section_id'] = $activesectionid; + return $data; } @@ -338,15 +346,11 @@ if (isset($_GET['sectionid'])) { $activesectionid = $_GET['sectionid']; } -if ($activegroupid == 0) { - // On récupère les ids des membres parce que dans l'excel on veut savoir qui appartient à quel groupe. - $groups = groups_get_all_groups($COURSE->id, 0, 0, 'g.*', true); -} else { - // On ne récupère pas les ids des membres. - $groups = groups_get_all_groups($COURSE->id, 0, 0, 'g.*', true); -} +// On récupère les ids des membres parce que dans l'excel on veut savoir qui appartient à quel groupe. +$groups = groups_get_all_groups($COURSE->id, 0, 0, 'g.*', true); + -// If a post is sent trought the page. +// If a post is sent trought the page --> Si on change les filtres, le template est appelé en JS if (isset($_POST['action']) && !empty($_POST['action'])) { // Si on change les filtres. $data = []; @@ -359,6 +363,7 @@ if (isset($_POST['action']) && !empty($_POST['action'])) { init_page($course, $PAGE); echo $OUTPUT->header(); $data = []; + //Si la complétion du cours n'est pas activée on redirige l'enseignant vers l'interface pour l'activer if(!$COURSE->enablecompletion){ $data["completion_enabled"]=0; $data["link_enable"]= "<a href='".$CFG->wwwroot . '/course/edit.php?id=' . $courseid."'>sur ce lien</a>"; @@ -370,20 +375,16 @@ if (isset($_POST['action']) && !empty($_POST['action'])) { $modules = get_activities($completion, $activesectionid); - $groupsall = get_groups($context, $activegroupid, $progress, $groups); + //Répartit les groupes en "mes groupes" et "les groupes dont je ne fais pas partie" + $groupsall = get_groups($context, $activegroupid, $groups); if (isset($groupsall->current_user_groups) && !empty($groupsall->current_user_groups)) { $currentusergroups = $groupsall->current_user_groups; } - ini_set('xdebug.var_display_max_depth', 10); -ini_set('xdebug.var_display_max_children', 256); -ini_set('xdebug.var_display_max_data', 1024); - var_dump($groups); - var_dump($groupsall); //$groups = $groupsall->groups; $sections = get_sections($activesectionid); - $data = set_filters($data, $filters, $symbols, $sections, $groups, $currentusergroups, $activegroupname, $activesectionid); + $data = set_filters($data, $filters, $symbols, $sections, array_values($groups), $groupsall->current_user_groups, $groupsall->othergroups, $activesectionid); $data = set_data($data, $modules, $progress, $groups, $activegroupid, $activesectionid, $listoptions); if (isset($_GET["msg_success"])) { @@ -391,7 +392,6 @@ ini_set('xdebug.var_display_max_data', 1024); $data["msg_success"] = $msg; } } - $renderer = $PAGE->get_renderer('format_iena'); $renderer->display_completion($data); echo $OUTPUT->footer(); diff --git a/templates/suivi-table.mustache b/templates/suivi-table.mustache index 4696ff1cb590a63d13055d642c517eb92856c45f..49ba5a0b52f6b301197cb6242161fb7f9661972f 100644 --- a/templates/suivi-table.mustache +++ b/templates/suivi-table.mustache @@ -45,7 +45,8 @@ </td> {{#display_groups}} - <td>{{groups}}</td> + + <td class="third-column-iena row-header">{{groups}}</td> {{/display_groups}} diff --git a/templates/suivi.mustache b/templates/suivi.mustache index 80966638a38e45b01731b37f35fe293df7a01ffb..0ad29ce8f3a53f994edd25c39634e819bb6a1af1 100644 --- a/templates/suivi.mustache +++ b/templates/suivi.mustache @@ -85,10 +85,10 @@ </optgroup> <optgroup label="Autres groupes"> - {{#groups}} + {{#othergroups}} <option {{selected}} value='{{id}}'>{{name}}</option>"; - {{/groups}} + {{/othergroups}} </optgroup>