diff --git a/CHANGELOG.md b/CHANGELOG.md index 1129ad2bc99d35da7097054aa44f123029969d48..9676ed6bba4a83d6292261a64ab2bc65d59a97b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,79 @@ +# 17/07/2019 + +__Moodle 3.7.1__ + +Le paramètre "description de la section" ne s'actualisait pas lorsqu'il était réglé dans les paramètres de la section sans passer par le mode édition et les paramètres classiques. + +# 23/05/2019 + +__MAJ en 3.7__ + +## Suivi des étudiants + +### Tableau de suivi + +Le téléchargement du tableau de suivi inclus les groupes même quand tout le tableau est téléchargé. Cette opération peut être longue (+ de 10 secondes), mais des mécanismes existent pour éviter que des responsables de groupes chargent la vue pour tous les groupes dans des cours volumineux (plusieurs centaines d'étudiants). + +Le texte explicatif du tableau à téléchargé est amélioré pour expliquer la notation (0, 1, 0.5 et 2). + +L'envoi de message à tous les étudiants sélectionné prend bien en compte le filtre et le groupe. + +### Message quand pas d'activité à suivre + +Lorsqu'une section ne contient pas d'activité suivies, afficher un message au lieu de la liste des étudiants avec aucune activité en colonne et 0% pour chaque. Il indique qu'aucune activité n'est suivie pour cette section. Le message indiquant qu'aucun étudiant n'est retourné par les filtres ne peut apparaître que s'il y a des activités suivies. + +## Cron + +### Paramètres + +[x] Changement des jours de `"*/1" à "*"` pour envoyer tous les jours. + +### Notifications + +Les messages ayant évolués en chat ou notifications, le cron est modifié pour envoyer des notifications. + +Cliquer sur le notification envoie directement vers la section du cours considérée. + +## Page du cours + +### Description du cours + +Le lien pour afficher l'entête ne s'affiche plus s'il n'y a pas de description du cours. Les descriptions vides type `<p><br></p>` que les WYSIWYG de MOODLE aiment bien faire ne s'affichent pas non plus. + +## Divers + +Nettoyage du code. + +Suppression de paramètres de cours inutiles. + +--- + +# 12/02/19 + +## Entête du cours + +Le style n'est plus inclus directement dans le PHP, mais placé dans le fichier styles.css global du plugin. + +## Entêtes de section + +La taille des éléments de l'entête est modifiée pour qu'elle soit moins massive. + +Modification du label d'accès au suivi des étudiants lorsqu'un groupe a été sélectionné pour harmonier avec aucune sélection (suivi et suivi étudiants au profit de suivi étudiants). + +## Tableau de suivi + +Si aucune donnée n'est disponible dans le tableau, alors un message l'indique au lieu de présenter un tableau vide. + +Sélectionner toute la liste ne sélectionne plus que les étudiants en effet affichés, au lieu de sélectionner également les étudiants qui n'y figurent pas à cause de l'application d'un filtre. Après avoir sélectionné tout, on ne peut pas changer de filtre et sélectionner tout pour le nouveau résultat du filtre appliqué, mais seulement désélectionner tout. Par exemple, il n'est pas possible de sélectionner tous < 25% puis tout > 75%. + +Lors de l'envoi d'un message à certains étudiants sélectionnés, le nombre d'étudiants concernés est affiché dans le titre. + +Lors de l'envoi d'un message à certains étudiants sélectionnés, si aucun destinataire n'a été sélectionné, un message l'indique et l'envoi est indisponible. Un bouton permet de revenir à la page précédente. + +Correction du fait que le filtre affichait >=0 au lieu de >0. + +--- + # 08/01/2019 ## Description des sections @@ -79,70 +155,3 @@ Le score détaillé de l'étudiant (barre de progression) et le score présent d Le score présent dans l'entête de chaque section s'affiche dès que la section comporte des activités sous suivi d'achèvement, même si aucune n'est effectuée (score de 0%). ---- - -# 12/02/19 - -## Entête du cours - -Le style n'est plus inclus directement dans le PHP, mais placé dans le fichier styles.css global du plugin. - -## Entêtes de section - -La taille des éléments de l'entête est modifiée pour qu'elle soit moins massive. - -Modification du label d'accès au suivi des étudiants lorsqu'un groupe a été sélectionné pour harmonier avec aucune sélection (suivi et suivi étudiants au profit de suivi étudiants). - -## Tableau de suivi - -Si aucune donnée n'est disponible dans le tableau, alors un message l'indique au lieu de présenter un tableau vide. - -Sélectionner toute la liste ne sélectionne plus que les étudiants en effet affichés, au lieu de sélectionner également les étudiants qui n'y figurent pas à cause de l'application d'un filtre. Après avoir sélectionné tout, on ne peut pas changer de filtre et sélectionner tout pour le nouveau résultat du filtre appliqué, mais seulement désélectionner tout. Par exemple, il n'est pas possible de sélectionner tous < 25% puis tout > 75%. - -Lors de l'envoi d'un message à certains étudiants sélectionnés, le nombre d'étudiants concernés est affiché dans le titre. - -Lors de l'envoi d'un message à certains étudiants sélectionnés, si aucun destinataire n'a été sélectionné, un message l'indique et l'envoi est indisponible. Un bouton permet de revenir à la page précédente. - -Correction du fait que le filtre affichait >=0 au lieu de >0. - -# 23/05/2019 - -__MAJ en 3.7__ - -## Suivi des étudiants - -### Tableau de suivi - -Le téléchargement du tableau de suivi inclus les groupes même quand tout le tableau est téléchargé. Cette opération peut être longue (+ de 10 secondes), mais des mécanismes existent pour éviter que des responsables de groupes chargent la vue pour tous les groupes dans des cours volumineux (plusieurs centaines d'étudiants). - -Le texte explicatif du tableau à téléchargé est amélioré pour expliquer la notation (0, 1, 0.5 et 2). - -L'envoi de message à tous les étudiants sélectionné prend bien en compte le filtre et le groupe. - -### Message quand pas d'activité à suivre - -Lorsqu'une section ne contient pas d'activité suivies, afficher un message au lieu de la liste des étudiants avec aucune activité en colonne et 0% pour chaque. Il indique qu'aucune activité n'est suivie pour cette section. Le message indiquant qu'aucun étudiant n'est retourné par les filtres ne peut apparaître que s'il y a des activités suivies. - -## Cron - -### Paramètres - -[x] Changement des jours de `"*/1" à "*"` pour envoyer tous les jours. - -### Notifications - -Les messages ayant évolués en chat ou notifications, le cron est modifié pour envoyer des notifications. - -Cliquer sur le notification envoie directement vers la section du cours considérée. - -## Page du cours - -### Description du cours - -Le lien pour afficher l'entête ne s'affiche plus s'il n'y a pas de description du cours. Les descriptions vides type `<p><br></p>` que les WYSIWYG de MOODLE aiment bien faire ne s'affichent pas non plus. - -## Divers - -Nettoyage du code. - -Suppression de paramètres de cours inutiles. diff --git a/param_section.php b/param_section.php index 527a82e57d90ed210f9c8638763d42614c8f0141..9d17da33727d1d66db6fa4a94abb35ade980b050 100644 --- a/param_section.php +++ b/param_section.php @@ -31,6 +31,7 @@ */ define('NO_OUTPUT_BUFFERING', true); require_once('../../../config.php'); + require_once('../../lib.php'); global $COURSE, $DB, $USER; @@ -40,6 +41,9 @@ $PAGE->set_pagelayout('course'); $PAGE->set_url($url); + + $course = $DB->get_record('course', array('id' => $courseID), '*', MUST_EXIST); + require_login($course, false, NULL); if (!has_capability('moodle/course:update', $context = context_course::instance($courseID), $USER->id)) { $link = $CFG->wwwroot . '/course/view.php?id=' . $courseID; @@ -50,7 +54,7 @@ if ($_POST) { global $DB; $dateChaine = $_POST["date_iena"]["year"] . "-" . $_POST["date_iena"]["month"] . "-" . $_POST["date_iena"]["day"] . " " . - $_POST["date_iena"]["hour"] . ":" . $_POST["date_iena"]["minute"] . ":00"; + $_POST["date_iena"]["hour"] . ":" . $_POST["date_iena"]["minute"] . ":00"; $dateUp = date_create($dateChaine); $data_iena = new stdClass(); if (isset($_POST['date_render'])) { @@ -77,7 +81,8 @@ } $data_iena->nb_days_before = $_POST['nb_days_before']; $data_iena->nb_days_after = $_POST['nb_days_after']; - // $data_iena->hide = $_POST['hide']; + /* Anciennement, servait à décider si la section était suivie dans les tableau de bord. Aujourd'hui, c'est le suivi d'achèvement d'activité qui est utilisé à la place. */ + /* $data_iena->hide = $_POST['hide']; */ $data_iena->hide = false; $testIfsection = $DB->get_record('format_iena', array('id_section' => $sectionId), '*'); @@ -87,31 +92,34 @@ $data_iena->id = $testIfsection->id; $DB->update_record('format_iena', $data_iena, false); } - $data['id'] = $sectionId; - $data['timemodified'] = time(); - $data['name'] = $_POST['name']; - $data['summary'] = $_POST['summary']['text']; - $DB->update_record('course_sections', $data); - rebuild_course_cache($COURSE->id, true); + + $section = $DB->get_record('course_sections', array('id' => $sectionId), '*', MUST_EXIST); + $data = new stdClass(); + $data->name = $_POST['name']; + $data->summary = $_POST['summary']['text']; + $data->summaryformat = $_POST['summary']['format']; + course_update_section($COURSE, $section, $data); + $link = $CFG->wwwroot . '/course/view.php?id=' . $courseID; header("Location: {$link}"); exit; - } - - $dataSection = $DB->get_record('format_iena', array('id_section' => $sectionId), '*'); - $course = $DB->get_record('course', array('id' => $courseID), '*', MUST_EXIST); - require_login($course, false, NULL); - - $PAGE->set_title($COURSE->fullname); - $PAGE->set_heading($COURSE->fullname); - echo $OUTPUT->header(); - //$PAGE->requires->js("/course/format/Sprint3/js/jquery.min.js"); - //$PAGE->requires->js("/course/format/iena/js/file.js"); - //$PAGE->requires->js_call_amd("/course/format/Sprint3/js/jquery.dataTables.js", 'init'); - require_once("$CFG->libdir/formslib.php"); - require_once('view/view_param_section.php'); - $view_param_section = new view_param_section(); - - echo $view_param_section->get_content($course, $dataSection); - - echo $OUTPUT->footer(); \ No newline at end of file + + } else { + + $dataSection = $DB->get_record('format_iena', array('id_section' => $sectionId), '*'); + + $PAGE->set_title($COURSE->fullname); + $PAGE->set_heading($COURSE->fullname); + echo $OUTPUT->header(); + //$PAGE->requires->js("/course/format/Sprint3/js/jquery.min.js"); + //$PAGE->requires->js("/course/format/iena/js/file.js"); + //$PAGE->requires->js_call_amd("/course/format/Sprint3/js/jquery.dataTables.js", 'init'); + require_once("$CFG->libdir/formslib.php"); + require_once('view/view_param_section.php'); + $view_param_section = new view_param_section(); + + echo $view_param_section->get_content($course, $dataSection); + + echo $OUTPUT->footer(); + + } \ No newline at end of file