Cuando un usuario tiene capabilities superiores a los de el rol "legacy teacher" los menús de la actividad aparecen separados y desordenados.
Deben aparecer agrupados y al principio de la lista de opciones. Como está ahora, es un caos. Para ellos hay que especificar explícitamente el orden de los menús en la función add_node..
En https://github.com/UNIMOODLE/moodle-mod_hybridteaching/blob/1cfb293415322c7e814e8330b3744c369c58730f/lib.php#L500 la implementación no es eficaz. En lugar de generar un array de elementos, sería mejor llamar dentro de cada if a la función de construcción del menú con las opciones correspondientes, prestando atención especialmente a "beforekey" que permite asegurar un orden. La generación de un array intermedio para inmediatamente luego iterar, además perdiendo información de contexto, no tiene sentido en este caso de uso.
Una solución que funciona en mi prueba es usar beforekey:"modedit" :
Cuando un usuario tiene capabilities superiores a los de el rol "legacy teacher" los menús de la actividad aparecen separados y desordenados.
Deben aparecer agrupados y al principio de la lista de opciones. Como está ahora, es un caos. Para ellos hay que especificar explícitamente el orden de los menús en la función add_node..
En https://github.com/UNIMOODLE/moodle-mod_hybridteaching/blob/1cfb293415322c7e814e8330b3744c369c58730f/lib.php#L500 la implementación no es eficaz. En lugar de generar un array de elementos, sería mejor llamar dentro de cada if a la función de construcción del menú con las opciones correspondientes, prestando atención especialmente a "beforekey" que permite asegurar un orden. La generación de un array intermedio para inmediatamente luego iterar, además perdiendo información de contexto, no tiene sentido en este caso de uso.
Una solución que funciona en mi prueba es usar beforekey:"modedit" :