Agregar parámetros a certificado 3w - G3.15.1

Buenas tardes.

Estoy queriendo modificar el certificado de alumno regular que se imprime desde autogestión. Quiero agregar unos parámetros (en particular el responsable académico) y modificar el logo. El problema es que no encuentro donde se pasan los parámetros a este certificado desde el Chulupi.

Encontré en siu/modelo/datos/db/certificados.php que se ejecutan varios procedimientos, como sp_certif_argum, pero no encuentro donde esta la definición de estos? Como para poder ver que datos manda al jasper del certificado.

Alguien podrá orientarme? En la documentación de la personalización del 3w no aparece nada sobre los certificados…
Gracias.

Hola buenas tardes!
Para modificar el logo, tendrían que agregar dentro de la carpeta personalización, la imagen del logo que deseen en la ruta img/logo_institucion.jpg.

Para agregar los parámetros, les voy a pedir por favor mandar un g.d.s. para exlicarles como sería el procedimiento.

Buen día Joaquin.
Si lo de los logos lo se, pero en nuestro caso tenemos varios logos por responsable,por eso los pasamos por parámetro, es algo mas complejo.
Seguimos por gds, muchas gracias.

Lo de los logos lo comento acá por si a alguien más le sirve, ya que es más genérico, lo de como personalizar los nombres de la propuesta te lo paso por g.d.s…

Lo que habría que hacer es modificar tres archivos, dos de Gestión y uno de Autogestión

  • De gestión:

El archivo ci_nav_solicitar_constancias.php de Gestión ubicado en

gestion_trunk/php/operaciones/constancias/solicitar_constancias/ci_nav_solicitar_constancias.php

Fijense que dentro de la función vista_jasperreports las lineas 322 y 323 aparece lo siguiente:
$path_logo = guarani::get_path_logo_impresion();
$report->set_parametro(‘logo’, ‘S’, $path_logo);

Ahí esta ubicado el path del logo, lo que habría que hacer es crear una variable con el nombre de la responsable acádemica (por ejemplo $responsable_nombre) que quieran que figure y agregarlo al path de la linea 322 de la siguiente manera:

$path_logo = guarani::get_path_logo_impresion($responsable_nombre);

Pero para que el path tome en cuenta la responsable académica hay que modificar como esta hecha esa función get_path_logo_impresion, por lo tanto modificamos la clase hueca guarani ubicada en
gestion_trunk/personalizacion/php/nucleo/_lib/guarani.php

y ahí dentro colocamos

static function get_path_logo_impresion($responsable_nombre=‘’)
{
//Obtengo el logo de la Responsable correspondiente, si no existe seteo el logo de la Institución correspondiente, en caso de tampoco existir seteo el logo de Guarani, se personaliza para que haya un logo por cada responsable académica
$logo = toba::proyecto()->get_www_pers(‘img/logo_institucion’.“_$responsable_nombre”.‘.jpg’);
if (!file_exists($logo[‘path’])) {
$logo = toba::proyecto()->get_www_pers(‘img/logo_institucion.jpg’);
}

	if (!file_exists($logo['path'])) { 
		$logo = toba::proyecto()->get_www('img/logo_grande.png');
	}

	return $logo['path'];
}
  • Y De autogestión:

3w_trunk/src/siu/operaciones/solicitudes/controlador.php

Habría que hacer algo parecido a lo que hicimos con el primer archivo, en la linea 131 figura

//Seteo el logo de la Institución correspondiente, si no existe seteo el logo de Guarani
$path_logo = kernel::localizador()->encontrar_path_archivo(‘www/img’, ‘logo-transparente.png’);

ahí habría que crear una variable con el nombre de la responsable académica (por ejemplo $responsable_nombre)

e incorporarla a $path_logo reemplazando esa misma linea por las siguientes

//Seteo el logo de la Institución correspondiente, si no existe seteo el logo de Guarani
$path_logo = kernel::localizador()->encontrar_path_archivo(‘www/img’, “logo-transparente-$responsable_nombre.png”);
if (!file_exists($path_logo)) {
$path_logo = kernel::localizador()->encontrar_path_archivo(‘www/img’, “logo-transparente-$responsable_nombre.png”);
}

Ahora lo que faltaría hacer es subir las imagenes a las carpetas de personalizaciones, en las carpetas img con el nombre de logo_institucion_nombreDeLaResponsable en caso de Gestión donde nombreDeLaResponsable va a tener que ser modificado el nombre por cada responsable que se desee

Lo mismo con la carpeta www/img/logo-transaparente-nombreDeLaResponsable en caso de Autogestión

Buen día.
No respondi antes porque estuve intentando resolverlo de otra manera, pero no funciono, asi que retome esta.
Nosotros tenemos en una tabla la ubicacion de los logos, por eso normalmente usamos una funcion geth path logos, pero me ubica en el path de gestion, no esta personalizado para autogestión.

Retomando esta solucion que mencionabas Joaquin, sugerias pasar como parametro el nombre del responsable. Este dato yo lo tengo en la operacion redefinida en gestion, en un co_constancias_unpsjb

pero si modifico la linea donde toma el dato:
$datos_solicitud = \toba::consulta_php(‘co_constancias_unpsjb’)->get_datos_solicitud($solicitud[‘solicitud’]);
me dice que “No existe la clase: co_constancias_unpsjb pude ser que tenga que volver a generar la clase g3_clases_consulta con el comando generar_autoload”
y aunque corro el comando, me devuelve ok, pero me sigue tirando este error…

Hola buenas!

¿ Probaron ejecutando un <path proyecto Gestión>$ bin/guarani pers_autoload?
Dicho comando carga las clases nuevas creadas por las universidades.

Hola Rocío,

Tenés mal la invocación al método de la clase personalizada: en lugar de ‘toba::consulta_php(‘co_constancias_unpsjb’)->get_datos_solicitud($solicitud[‘solicitud’])’ debe ser ‘toba::consulta_php(‘co_constancias’)->get_datos_solicitud($solicitud[‘solicitud’])’, por ejemplo. Fijate que la clase de consulta se sigue llamando ‘co_constancias’ desde Toba-Editor, lo que cambia es el nombre del archivo y clase que tiene asociados.

Saludos, Florencia.

Buen día.
No pude lograr que me tome el co_constancias personalizado donde le pasaba el responsable, por alguna razón no me actualiza las clases el autoload, y siempre intenta buscar en las originales.
Al final le pedí estos datos del responsable a la solicitud, modificando el get_solicitudes_activas, y funciono.
Muchas gracias.