Hola, cuando un usuario de 3w con perfil alumno que se haya preinscripto a una propuesta intenta descargar el comprobante de la preinscripción, el sistema cancela con un error.
Probablemente el error sea en la función:
function get_etiqueta($campo)
{
$etiqueta = '';
if (isset($this->campos_descr[$campo])) {
$etiqueta = $this->campos_descr[$campo];
} else {
//Etiquetas que no están en autogestión.
toba::logger()->crit("'$campo',");
}
return $etiqueta;
}
de la clase
/app/src/siu/modelo_g3/nucleo/_lib
aparentemente no existe el método crit() del logger.
Versión 3.20.0
Gracias
Existe la clase src/siu/modelo_g3/toba_logger.php de 3W la cual es un “hack” de la clase vendor/siu-toba/framework/php/nucleo/lib/toba_logger.php de Gestión (Toba). En dicho “hack” faltaría agregar las siguientes funciones:
src/siu/modelo_g3/toba_logger.php
/**
* Registra un suceso de emergencia (hecatombe)
*/
function emergencia($mensaje, $proyecto = null)
{
$this->registrar_error($mensaje, 'EMERGENCY');
}
/**
* Registra un suceso de alerta (un error que requiere intervencion humana)
*/
function alerta($mensaje, $proyecto = null)
{
$this->registrar_error($mensaje, 'ALERT');
}
/**
* Registra un suceso CRITICO (un error muy grave)
*/
function crit($mensaje, $proyecto = null)
{
$this->registrar_error($mensaje, 'CRITICAL');
}
/**
* Registra un error en la apl., este nivel es que el se usa en las excepciones
*/
function error($mensaje, $proyecto = null)
{
$this->registrar_error($mensaje, 'ERROR');
}
protected function registrar_error($mensaje, $nivel = 'ERROR')
{
$exception = null;
// Si $mensaje es una Exception o Error (heredan de Throwable)
if ($mensaje instanceof \Throwable) {
$exception = $mensaje;
} else {// si $mensaje no es una Exception o Error lo convierto en \Exception
// Si no es string lo convierto a este tipo
if (!is_string($mensaje)) {
$mensaje = var_export($mensaje, true);
}
// Le concateno el nivel al mensaje
$mensaje = $nivel . ": " . $mensaje;
$exception = new \Exception($mensaje);
}
kernel::log()->add_error($exception);
}
Proba agregando lo de arriba para que no de error, vamos a corregirlo para la próxima versión.