iena-course-format issueshttps://gitlab.univ-lorraine.fr/iena/course-format/-/issues2022-05-02T07:45:51Zhttps://gitlab.univ-lorraine.fr/iena/course-format/-/issues/3Page figée après une permutation de sections2022-05-02T07:45:51ZJean-François Lemoine (Paris Nanterre)Page figée après une permutation de sectionsEn mode édition, il est possible de déplacer les sections par simple glisser-déposer. Lors de cette opération, certains contenus contenant du javascript peuvent faire planter la page, qui se fige alors. Un rafraîchissement de la page mon...En mode édition, il est possible de déplacer les sections par simple glisser-déposer. Lors de cette opération, certains contenus contenant du javascript peuvent faire planter la page, qui se fige alors. Un rafraîchissement de la page montre que les sections ont bien été déplacées.
Voici l’erreur obtenue :
> ```
> Uncaught TypeError: Cannot read property 'swap' of null
> at Object.M.course.format.swap_sections (format.js:2)
> ```
C’est une régression documentée dans Moodle 3.9 : [[MDL-68231] Dropping sections does not complete](https://tracker.moodle.org/browse/MDL-68231).Jean-François Lemoine (Paris Nanterre)Jean-François Lemoine (Paris Nanterre)https://gitlab.univ-lorraine.fr/iena/course-format/-/issues/2Bobologie 22021-12-01T13:02:23ZJean-François Lemoine (Paris Nanterre)Bobologie 2Bonjour,
Nous avons remarqué que l’entête des section est doublé (mais pas fermé) lorsque le mode édition est activé, perturbant les navigateurs vocaux.
```html
<div class="course-content">
<h2 class="accesshide">Aperçu des sections<...Bonjour,
Nous avons remarqué que l’entête des section est doublé (mais pas fermé) lorsque le mode édition est activé, perturbant les navigateurs vocaux.
```html
<div class="course-content">
<h2 class="accesshide">Aperçu des sections</h2>
<ul class="iena-editing">
<h2 class="accesshide">Aperçu des sections</h2>
<ul class="iena-editing">
<li id="section-0" class="section main clearfix"
```
Cette entête est généré par la fonction `start_section_list()` définie dans `renderer.php`. On trouve deux appels consécutifs à cette fonction dans la fonction `print_iena_section_pages()` :
> ```php
> public function print_iena_section_pages($course)
> {
> …
> echo $this->output->heading($this->page_title(), 2, 'accesshide');
> echo $this->course_activity_clipboard($course, 0);
> echo $this->start_section_list();
> …
> if ($PAGE->user_is_editing()) {
> // echo $completioninfo->display_help_icon();
> echo $this->output->heading($this->page_title(), 2, 'accesshide');
> echo $this->course_activity_clipboard($course, 0);
> echo $this->start_section_list();
> }
> ```
On devrait pouvoir supprimer le second bloc sans état d’âme.Jean-François Lemoine (Paris Nanterre)Jean-François Lemoine (Paris Nanterre)https://gitlab.univ-lorraine.fr/iena/course-format/-/issues/1Bobologie 12021-12-01T12:48:23ZJean-François Lemoine (Paris Nanterre)Bobologie 1Bonjour,
Quelques variables sont utilisées sans vérifier qu’elles existent, générant des avertissements.
`renderer.php`
> ```diff
> - $sectionIntro = $introSection[$i];
> + $sectionIntro = isset($introSection[$i]) ? $intro...Bonjour,
Quelques variables sont utilisées sans vérifier qu’elles existent, générant des avertissements.
`renderer.php`
> ```diff
> - $sectionIntro = $introSection[$i];
> + $sectionIntro = isset($introSection[$i]) ? $introSection[$i] : '';
> …
> - if ($course->hiddensections && !(int)$thissection->visible) {
> + if (isset($course->hiddensections) && $course->hiddensections && !(int)$thissection->visible) {
> ```Jean-François Lemoine (Paris Nanterre)Jean-François Lemoine (Paris Nanterre)