En ffyb queremos que si un alumno de la facultad entra a preinscribirse, le aparezca un mensaje indicando que tiene que seguir el trámite de otra manera, y no a través del sistema (porque ya tenemos todos sus datos, así que no tiene sentido que se vuelva a preinscribir)
Para esto necesitaríamos que, al hacer click en Elegir Carrera, el facebox que aparezca sea uno personalizado, en lugar del formulario que aparece normalmente.
Por lo que vi, se usa una propiedad del objeto info para pasarle el html al facebox. El problema es que no encuentro dónde se setean las propiedades de info. Me podrán dar una mano para encontrar eso?
Te propongo otra alternativa: capturar el momento en el que el aspirante quiere crear un nuevo usuario para consultar ahí si ya es alumno de la facultad, y en dicho caso inhibirlo de dar de alta un nuevo usuario y mostrar un mensaje alternativo.
Para ello, deberías personalizar el controlador de la operación “alta_usuario”, redefiniendo la función “accion__crear”, para consultar en la tabla “sga_personas” (donde se exportan los datos básicos de las personas existentes en Gestión) con “pais_documento”, “tipo_documento” y “nro_documento”, y en caso de existir, en lugar de continuar el proceso mostrar un mensaje apropiado.
Fijate si lo podés encaminar, y cualquier cosa consultanos.
Eso está bien para los alumnos que ya son de la facultad. Pero qué pasa con los que ya tienen un usuario de preinscripción? A esos hay que mostrarles el mensaje, porque ya van a tener acceso al sistema, no?
Si es una personalización para aplicar en el período de preinscripción vigente, que afecte a los usuarios existentes, podrías verificar si cumple las condiciones para derivarlo a la pantalla del mensaje en la operación “acceso”, función “accion__index()” del controlador, donde se chequea si está abierta la sesión.
Ej:
function accion__index()
{
$this->vista()->set_pagelet('form_login');
$op_defecto = kernel::persona()->perfil()->get_parametro('index');
if (kernel::sesion()->abierta()) {
if ( // persona existente en gestion ) {
// Derivar a la pantalla con mensaje
} else {
$this->nuevo_request($op_defecto);
}
}
...
}
Estuve haciendo pruebas, y me parece que debería modificar el action__index() de censo, no? Haciéndolo en el de acceso me manda igual al censo, sea alumno o no.
En caso de tener que modificar en censo, debería además quedar algo así:
operaciones
– censo
---- existente
-------- default.twig
-------- form_existente.php (aunque en realidad no sería un form, sino una página estática dando las indicaciones correspondientes)
---- pagelet_existente.php (que extienda de pagelet)
Esto está bien o hay una forma más simple de mostrar esa sola pantalla estática?
Depende de cómo lo hayas implementado, pero no está de más modificar el action__index() de la operación censo, ya que al usuario que esté logueado también deberías enviarlo a la pantalla de mensaje cuando cumpla las condiciones estipuladas. ¿Ya viste en el código cómo dirigimos a la pantalla de mensajes / errores?
Cualquier cosa, subilo a tu nodo de Colab y lo miro de ahí. Avisame.