diff --git a/amd/build/suivi.js b/amd/build/suivi.js index 5690c1c5f020617a091eee8687754b0ca68bdea1..0c916eb6a0cf440da1234f4a986d9ce1d227097e 100644 --- a/amd/build/suivi.js +++ b/amd/build/suivi.js @@ -125,6 +125,11 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], filter=$("#filter-select").val(); data.count_results=0; for(var i=0; i<data.students.length; i++){ + if(data.display_groups==1){ + data.students[i].display_groups=true; + } + + if(symbol=="<"){ if(data.students[i].percentage < filter){ data.count_results++; diff --git a/classes/form/edittable_form.php b/classes/form/edittable_form.php index 632547d517f063f47b0629325319b3d0ed964537..a5543dc6c557b39194acb5ac6f1e2f7a440b42d5 100644 --- a/classes/form/edittable_form.php +++ b/classes/form/edittable_form.php @@ -54,7 +54,7 @@ class edittable_form extends moodleform { $mform->addElement('hidden', 'courseid', $courseid); $mform->setType('courseid', PARAM_INT); - $this->set_data($courseid); + //$this->set_data($courseid); } diff --git a/classes/output/course_format_iena_table_option.php b/classes/output/course_format_iena_table_option.php index b1206ba86ecf11c93927ee18aea76f5d79183b2c..d8a52c9953c81b32cad97f627865d57c0f323e89 100644 --- a/classes/output/course_format_iena_table_option.php +++ b/classes/output/course_format_iena_table_option.php @@ -94,7 +94,8 @@ class course_format_iena_table_option { global $DB; $arrayoptions = $DB->get_records('format_iena_options', ['courseid' => $this->courseid]); - return $this->get_array_options(array_values($arrayoptions)); + $this->set_array_options(array_values($arrayoptions)); + //return $this->get_array_options(array_values($arrayoptions)); } /** @@ -102,20 +103,20 @@ class course_format_iena_table_option { * @param [array] $requestoptions [le tableau de résultat de la requête] * @return [array] [un tableau d'objet qui contient nomoption => ["value" => value, "id"=>idoption]] */ - private function get_array_options($requestoptions){ - + private function set_array_options($requestoptions){ if(is_object($requestoptions)){ $this->listoptions[$requestoptions->optionname]['value']=$requestoptions['optionvalue']; $this->listoptions[$requestoptions->optionname]['id']=$requestoptions['id']; } else{ + for($i=0; $i<count($requestoptions); $i++){ $this->listoptions[$requestoptions[$i]->optionname]['value']=$requestoptions[$i]->optionvalue; $this->listoptions[$requestoptions[$i]->optionname]['id']=$requestoptions[$i]->id; } } - return $this->listoptions; + //return $this->listoptions; } public function toArray() { diff --git a/suivi_edit.php b/suivi_edit.php index 09f72f61c66ebcc04a60e23aac0699e6b0694204..07869eab7bd1cb2ae724f3d1f32a8c6848d082f7 100644 --- a/suivi_edit.php +++ b/suivi_edit.php @@ -98,9 +98,8 @@ if (!has_capability('course/iena:suivi', $context = context_course::instance($co $obj=new \format_iena\output\course_format_iena_table_option(); $obj->setCourseid($courseid); $obj->setUserid($USER->id); - $arrayoptions=$obj->get_request_options(); - $listoptions=$obj->get_list_options(); - $arraycustomform=$arrayoptions; + $obj->get_request_options(); + $arraycustomform=$obj->listoptions; $arraycustomform["courseid"]=$courseid; $mform= new edittable_form(null, $arraycustomform); // Form processing and displaying is done here. diff --git a/suivi_unit.php b/suivi_unit.php index e26ee9495a0ff88364d9c4d6d7eeddac4436c593..3d4ffd41ee5aa4a7a0cb58341afcf28636bfe868 100644 --- a/suivi_unit.php +++ b/suivi_unit.php @@ -112,14 +112,14 @@ function format_progress($progress, $modules, $groups, $activegroupid, $activese $progressstudent->id . "&course=" . $COURSE->id . "&mode=outline"; $progressstudent->message_link = $CFG->wwwroot . "/message/index.php?id=" . $progressstudent->id; - if ($activegroupid == 0) { + //if ($activegroupid == 0) { $progressstudent->groups = ""; foreach ($groups as $group) { if (in_array($progressstudent->id, $group->members)) { $progressstudent->groups .= $group->name . " "; } } - } + //} foreach ($modules as $key => $module) { $moduleprogress = new StdClass(); @@ -157,6 +157,7 @@ function get_activities($completion, $activesectionid) { } else { $module->visible = false; } + } return $modules; } @@ -211,7 +212,7 @@ function set_filters($data, $filters, $symbols, $sections, $groups, $currentuser return $data; } -function set_data($data, $modules, $progress, $groups, $activegroupid, $activesectionid) { +function set_data($data, $modules, $progress, $groups, $activegroupid, $activesectionid, $listoptions) { global $COURSE, $USER, $CFG; $data["modules"] = $modules; @@ -230,7 +231,9 @@ function set_data($data, $modules, $progress, $groups, $activegroupid, $activese $data['link_classicview'] = $CFG->wwwroot . "/report/progress/index.php?course=" . $COURSE->id; $data['link_editview']=$CFG->wwwroot . "/course/format/iena/suivi_edit.php?courseid=" . $COURSE->id; - + if($listoptions->listoptions['display_groups']["value"]){ + $data["display_groups"]=1; + } // Pour le téléchargement du tableau ? if (!isset($data['data'])) { $data['data'] = array(); @@ -286,6 +289,10 @@ $symbols = [ ] ]; +//On s'occupe des options ici + + + $courseid = required_param('courseid', PARAM_INT); // Define the url of the view. $url = new moodle_url('/course/format/iena/suivi_unit.php', array('courseid' => $courseid)); @@ -298,6 +305,10 @@ require_once($CFG->libdir . '/completionlib.php'); $completion = new completion_info($course); $context = context_course::instance($COURSE->id); +$listoptions=new \format_iena\output\course_format_iena_table_option(); +$listoptions->setCourseid($courseid); +$listoptions->get_request_options(); + if (!has_capability('course/iena:suivi', $context = context_course::instance($courseid), $USER->id)) { $link = $CFG->wwwroot . '/course/view.php?id=' . $courseid; header("Location: {$link}"); @@ -332,7 +343,7 @@ if ($activegroupid == 0) { $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.*', false); + $groups = groups_get_all_groups($COURSE->id, 0, 0, 'g.*', true); } // If a post is sent trought the page. @@ -341,7 +352,8 @@ if (isset($_POST['action']) && !empty($_POST['action'])) { $data = []; $modules = get_activities($completion, $activesectionid); - $data = set_data($data, $modules, $progress, $groups, $activegroupid, $activesectionid); + $data = set_data($data, $modules, $progress, $groups, $activegroupid, $activesectionid, $listoptions); + echo json_encode($data); } else { init_page($course, $PAGE); @@ -363,16 +375,21 @@ if (isset($_POST['action']) && !empty($_POST['action'])) { if (isset($groupsall->current_user_groups) && !empty($groupsall->current_user_groups)) { $currentusergroups = $groupsall->current_user_groups; } - $groups = $groupsall->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_data($data, $modules, $progress, $groups, $activegroupid, $activesectionid); + $data = set_data($data, $modules, $progress, $groups, $activegroupid, $activesectionid, $listoptions); if (isset($_GET["msg_success"])) { $msg = $_GET["msg_success"]; $data["msg_success"] = $msg; } - } $renderer = $PAGE->get_renderer('format_iena'); diff --git a/templates/suivi-table.mustache b/templates/suivi-table.mustache index 1e9d691de091950515480745f37fc1065715977a..4696ff1cb590a63d13055d642c517eb92856c45f 100644 --- a/templates/suivi-table.mustache +++ b/templates/suivi-table.mustache @@ -10,6 +10,9 @@ <th class="second-column-iena col-header">%</th> <th class="actions-column-iena col-header">Actions</th> <th class="third-column-iena col-header">Etudiants</th> + {{#display_groups}} + <th class="third-column-iena col-header">Groupes</th> + {{/display_groups}} {{#modules}} {{#visible}} <th class="th-rotate" data-fullname="{{name}}" data-section="{{section}}"> @@ -41,7 +44,11 @@ {{firstname}} {{lastname}} </td> + {{#display_groups}} + <td>{{groups}}</td> + {{/display_groups}} + {{#progress}} {{#visible}} <td title="{{namemodule}}" data-section="{{id}}" class="pointer-help state-{{completionstate}}"><span class="icon-progress"></span></td> diff --git a/tests/my_test.php b/tests/my_test.php index 3402dc8913a8584c97e5eb8720e408365786213f..9a209214ab52464063d018f49fa87a2c967a8744 100644 --- a/tests/my_test.php +++ b/tests/my_test.php @@ -174,15 +174,14 @@ class my_test extends \advanced_testcase { $arrayrequest=$DB->get_records('format_iena_options',["courseid"=>1]); $arrayoptions=$obj->get_request_options(); - $this->assertCount(2, $arrayrequest); - $this->assertEquals($arrayoptions[$obj::DISPLAY_GROUPS]["id"], $idoptiongroup); - $this->assertEquals($arrayoptions[$obj::DISPLAY_CUSTOM]["id"], $idoptioncustom); + $this->assertEquals($obj->listoptions[$obj::DISPLAY_GROUPS]["id"], $idoptiongroup); + $this->assertEquals($obj->listoptions[$obj::DISPLAY_CUSTOM]["id"], $idoptioncustom); $listoptions=$obj->get_list_options(); - $arraycustomform=$arrayoptions; + $arraycustomform=$obj->listoptions; $arraycustomform["courseid"]=1; // Instantiate a form to submit.