Eventos y observadores
Observadores de eventos de local_deltamodules y de los demás plugins propios, y el evento propio de local_candidate_enrollment.
Observadores de local_deltamodules (db/events.php)
| Evento | Callback | Qué hace |
|---|---|---|
\core\event\course_module_created | standard::module_changed | Aplica el estándar a la actividad nueva; en un repaso creado desde el formulario, abre su editor; recalcula certificado y completado del curso. |
\core\event\course_module_updated | standard::module_changed | Aplica el estándar a la actividad editada; si es un certificado, recalcula su bloqueo. |
\mod_quiz\event\attempt_submitted | standard::attempt_submitted | Si agotó los intentos sin aprobar, marca el repaso como pendiente de "volver a ver el video". |
\core\event\course_deleted | rules::course_deleted | Borra las reglas propias del curso. |
\core\event\user_enrolment_created | access::enforce | Vuelve a suspender la matrícula por cohorte de alguien excluido del módulo. |
\core\event\user_enrolment_updated | access::enforce | Ídem, cuando la sincronización reactiva la matrícula. |
\core\event\user_enrolment_created | mailer::on_enrolment | Correo "Módulo asignado". |
\core\event\course_completed | mailer::on_completed | Correo "Módulo terminado y certificado". |
\core\event\email_failed | mailer::on_email_failed | Guarda el motivo del fallo de envío. |
\mod_quiz\event\attempt_submitted | mailer::on_test_submitted | Correo "Prueba técnica recibida" (solo curso PTS y postulantes). |
\core\event\user_password_updated | people::password_updated | Si la cuenta que cambió su contraseña es admin y está activo el aviso de contraseña por defecto (alert_admin_defaultpass), lo apaga. |
\tool_usertours\event\tour_started | tours::started | Marca el tour como visto al mostrarse. |
Los observadores del estándar, del acceso, del correo y de los tours capturan sus excepciones (try/catch con debugging()): un fallo nunca impide guardar una actividad, enviar un examen ni matricular a alguien. rules::course_deleted y people::password_updated son operaciones simples (borrar las reglas del curso; consultar y, si corresponde, apagar un ajuste) y no llevan ese bloque. En el caso del estándar, si algo falla se vuelve a aplicar en el siguiente despliegue (normalize-academy.php).
standard::module_changed registra además una función de cierre (core_shutdown_manager::register_function) que vuelve a aplicar las reglas al repaso cuando Moodle termina de guardar el formulario, porque la nota para aprobar se guarda después del evento.
Observadores de otros plugins propios
| Plugin | Evento | Callback | Qué hace |
|---|---|---|---|
local_deltacerts | \core\event\course_module_created | local_deltacerts\observer::course_module_created | Si se crea un certificado customcert y el bloqueo automático está activo, lo bloquea hasta completar el curso. Ver local_deltacerts. |
Evento propio
| Plugin | Clase | Cuándo | Datos |
|---|---|---|---|
local_candidate_enrollment | local_candidate_enrollment\event\password_selfreset | Recuperación de contraseña por autoservicio sin correo (usuario + cédula) en recover.php | crud = u, edulevel = LEVEL_OTHER, relateduserid y la IP en other['ip']. Queda en Informes → Registros. |