UNIMOODLE / moodle-mod_hybridteaching

P1
Other
2 stars 0 forks source link

Menús de actividad desordenados en hybridteaching_extend_settings_navigation. #157

Open juacas opened 1 week ago

juacas commented 1 week ago

Cuando un usuario tiene capabilities superiores a los de el rol "legacy teacher" los menús de la actividad aparecen separados y desordenados.

image

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" :

$hybridteachingnode->add_node(childnode: navigation_node::create($title], $url, navigation_node::TYPE_SETTING), beforekey:"modedit");

image

mcalvoisyccom commented 2 days ago

Solventado con la última versión añadida.