cannot find best assessment

cannot find best assessment

de José Gregorio Díaz Unda -
Número de respuestas: 0
Saludos.

Un día y de repente comenzó a aparecer en el módulo WORKSHOP un mensaje de adevertencia y un mensaje de MOODLE que decían:

Undefined variable: bestassessment ... line 1781.

Revisando la función en el archivo:

/var/www/maestriarobinsoniana/mod/workshop/lib.php

Observamos que en la línea aparece el uso de la función "get_record" de la siguiente manera:

if (!$best = get_record("workshop_assessments", "id", $bestassessmentid)) {
notify("Workshop grade assessments: cannot find best assessment");
continue;
}

No estamos seguros si esta es la razón y la manera adecuada de resolverlo ... pero funcionó :D

Como es conocido, MOODLE permite en el módulo WORKSHOP borrar registros padres y quedan registros hijos huérfanos en el modelo de datos.

Para buscar los registros huérfanos hicimos:

mysql> SELECT mdl_workshop_assessments.* FROM mdl_workshop_assessments
LEFT OUTER JOIN mdl_workshop_submissions ON
mdl_workshop_assessments.submissionid = mdl_workshop_submissions.id
WHERE mdl_workshop_submissions.id IS NULL;

Esta consulta devolvía los registro huérfanos que hay que eliminar.

Para eliminarlos corrimos:

mysql> DELETE mdl_workshop_assessments, mdl_workshop_submissions FROM mdl_workshop_assessments LEFT OUTER JOIN mdl_workshop_submissions ON
mdl_workshop_assessments.submissionid=mdl_workshop_submissions.id WHERE mdl_workshop_submissions.id IS NULL;

Luego, editamos el archivo "/var/www/maestriarobinsoniana/mod/workshop/lib.php" en la línea 1781 de la siguiente manera:

Cambiamos ...

if (!$best = get_record("workshop_assessments", "id", $bestassessmentid))

por ...

if ($best = get_record("workshop_assessments", "id", $bestassessmentid))

Recargamos la página y se produjeron varios errores, advertencias, etc.

Revertimos el cambio de la línea a ...

if (!$best = get_record("workshop_assessments", "id", $bestassessmentid))

... y misteriosamente dejó de aparecer el error.

Será esta la manera adecuada de resolverlo ?

Alguna sugerencia?

Gracias!

José Gregorio.
Promedio de valoraciones: -