Preinscr 3.8: personalización no encuentra kernel\kernel

Estimados,
estamos haciendo el upgrade a Preinscripción 3.8 en Desarrollo. Tenemos unas pequeñas personalizaciones desarrolladas en su momento en la versión 3.6. En alguna operación obtenemos el siguiente error:

Fatal error: Class ‘kernel\kernel’ not found in /var/www/proyectos/preinscripcion/src/pers/ubarect/modelo/manejador_datos.php on line 19

donde la línea 19 tiene una invocación a la función kernel::db()->quote()

Según el ejemplo en src/pers/ejemplo/modelo/manejado_datos.php la función kernel::db()->quote() seguiría existiendo, y hasta sin necesidad de hacer use kernel\kernel. Sin embargo quitando la línea “use kernel\kernel” obtenemos similar error (aunque se queja de que no existe la clase “ubarect\modelo\kernel”). Tampoco funcionó invocar una librería “Chulupi\kernel”.

Qué puede ser? Muchas gracias!

Ricardo Bravo
UBA-SSTDyM

Hola Ricardo, necesitaríamos más información para poder ver qué puede estar pasando.
Mencionas alguna operación, ¿podrías darnos más detalles sobre qué hace la personalización? De la versión 3.6 a 3.8 hay muchos cambios; los datos se consumen directamente desde la base de Gestión, por ejemplo.
Siempre adjuntá los logs por favor, ¿si?
¡Gracias!

hola!

este error aparece cuando el usuario se loguea correctamente, a la vuelta del formulario de login. Si se ingresa adrede la clave mal avisa que las credenciales son incorrectas y vuelve al formulario de login.

dentro de nuestra personalizacion la función que falla se llama get_datos_formularios_preinscr, donde “se obtienen los datos propios almacenados en la tabla anexa y se efectúa un merge con los datos por defecto”. Quizás haya que modificar la query y de eso nos podemos ocupar, pero la función falla porque como comentaba no encuentra la librería kernel, al pretender usar la función kernel::db().

Dentro de …/preinscripcion/instalación/log hay una carpeta consola que está vacía, y otra alumno_alumno_rectorado donde encuentro logs de estos eventos (no encuentro otras carpetas con logs). Allí aparece:

================================================================================
=================================   ERRORES   ==================================
================================================================================

clase: SIU\Chulupi\ErrorKernel
mensaje: SHUTDOWN
traza: [TRAZA]

---[ 0 ]-----------------------------------------

- function: SIU\Chulupi\nucleo\AccesoWeb::shutdown
- file: /var/www/proyectos/preinscripcion/vendor/siu/chulupi-framework/src/SIU/Chulupi/nucleo/AccesoWeb.php, linea 166


########################################################################################################################

--F<0>:E<1>:W<0>:T<0 s>:M<0 Mb>--

por otra parte por pantalla aparece el mensaje de error que copié inicialmente:


Fatal error: Class 'kernel\kernel' not found in /var/www/proyectos/preinscripcion/src/pers/ubarect/modelo/manejador_datos.php on line 19

Por ahora no encuentro más información sobre el evento, por favor avísenme si hace falta más. Saludos y gracias!

Ricardo

Buenos días Ricardo.

De 3.6 a 3.8 preinscripción cambió bastante. Deberían revisar cada archivo personalizado comparando y ajustando con el archivo original actual.

En el caso puntual de Fatal error: Class ‘kernel\kernel’ not found in…
tomen como referencia el archivo original actual src/siu/modelo/manejador_datos.php y adapten su versión src/pers/ubarect/modelo/manejador_datos.php

Noten, por ejemplo, el uso de use SIU\Chulupi\kernel; en lugar de use kernel\kernel;

hola Sergio,
muchas gracias por la pista, era justo lo que hacía falta!

Como detalle, habíamos revisado /src/pers/ejemplo/modelo/manejador_datos.php pero desafortunadamente ahí no se incluye dicha librería. Ahora encontramos que está en ./operaciones/censo/idiomas/form_idiomas.php y en operaciones/_comun/generador_pdf.php.

Muchas gracias por todo el aguante a lo largo del año, y te envío mis mejores deseos para el que está por comenzar, que hago extensivos a todo el equipo! Abrazos!

Ricardo