Eliminar secciones o temas del curso. Problema.

Eliminar secciones o temas del curso. Problema.

de Raul Garcia Canet -
Número de respuestas: 0
Hola todos,

No se si alguien lo ha detectado, pero os comento.

Configuración de Moodle:

- Uso Grupos y Agrupamientos.
- Rol Global de Profesor: Acceso a todos los grupos-Prohibir (cada profesor sólo ve a sus grupos)
- Curso por Temas (topics)
- Actores: Profesor 1, Profesor 2
- Grupos: Grupo1, Grupo2
- El Profesor 1 pertenece al Grupo 1
- El Profesor 1 pertenece al Grupo 1
- Agrupamientos:
* PROFE1-> contiene a Grupo1
* PROFE2 -> contiene a Grupo2

En una sección 5 (topic 5) agrego un recurso y lo asigno al agrupamiento PROFE1, como consecuencias:
- Sólo los miembros del Grupo1 (que está en PROFE1) veran ese recurso.
- El Profesor 2 no verá ese recurso porque no pertenece al Grupo1.

Problema:
Accede el Profesor 2 y como no ve nada en la sección/tema 5, entra en la opción de Configuración y establece el valor de "Número de Semanas o Temas" en 4, como consecuencia, la seccion o tema 5 desaparece, aunque el recurso que había permanece en la Base de Datos.

Cuando entra el Profesor 1, ve que el tema 5 ha desaparecido y piensa que su recurso también. Por tanto vuelve a crear el recurso (duplicidad de recurso) o bien se tira de los pelos pensando que otro compañero le ha "puteado" y entonces ya tenemos el lío armado.

La Solución fácil:
Que el Profesor 1 entre en la opción de Configuración y establezca el valor de "Número de Semanas o Temas" en 4 o más, reestableciendo así el tema y los recursos qeue había en él.

Pero....el Profesor 1 no sabe la solución...:-s

Solución PRO-ACTIVA propuesta:

- Al actualizar el curso, recogemos el valor de la variable que actualiza "Numero de semanas o temas" -> var1
- Miramos (contamos) cuantas secciones en 'mdl_course_sections" (buscando por el id del curso), tienen el campo "sequence" distinto NULL o distinto de vacío. -> var2

Si var1< var2 entonces false
sino true

Si es true: dejamos que se haga la acción,
Si es false: Le avisamos que hay recursos y que debe eliminarlos o moverlos a otra sección antes eliminarla (si no ha creado el esos recursos, no los verá y por tanto no podrá eliminarlos ni moverlos, ni eliminar la sección) y cancelamos la actualización. (también podríamos informarle que en lugar de eliminarla que la oculte si no va a utilizarla, etc..)

¿Y QUE MODIFICO?

1.- ¿Dónde está el código que actua sobre el numero de secciones que hay en un curso?
Respuesta: En el fichero course/lib.php, funcion update_course, es la que actualiza la tabla mdl_course y el campo numsections.

Bueno, esto es todo lo que quería contar. No se que os parece como solución o que opinaís al respecto o es que yo me estoy yendo muhco por las ramas o que...

Aún no lo he implementado, pero podría ser una buena mejora para evitar algún que otro susto que pudieran llevarse los profesores de un curso, ¿no creeis? guiño

Hasta pronto,
Salu2
J. Raul (juagarc4) guay
Promedio de valoraciones:Útil (2)