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”.
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!
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:
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!