Skip to content

Feature: sección "Mis informes" para el estudiante

belen.varsi requested to merge feature/mis-informes into dev

Qué hace

Agrega la pantalla Mis informes (/perfil/informes) para el rol Estudiante. Muestra los informes adjuntos a su ficha y los puede ver o descargar. Es de solo lectura: los informes los sigue subiendo el personal desde la ficha.

  • Lista los informes activos del estudiante, del más reciente al más viejo, con fecha y paginación.
  • Al hacer clic en el nombre se abre la vista previa en una pestaña nueva (?inline=true), igual que en la ficha. El botón de la derecha descarga el archivo.
  • Se agrega "Mis informes" al menú y al inicio del estudiante, después de "Mis comentarios".
  • Si entra un funcionario, ve "No tenés permiso para ver esta página".

Endpoints que usa

  • GET /informes-adjuntos/mios

  • GET /informes-adjuntos/mios/{id}/descargar

  • GET /informes-adjuntos/mios/{id}/descargar

Ya estaban en dev en el back. Con esta pantalla pasan a estar en uso: son los n.º 17 y 18 del documento "Endpoints sin uso en el frontend", los dos de tipo "Falta la pantalla".

Archivos

  • src/app/(app)/(secciones)/perfil/informes/page.tsx (nuevo)
  • src/components/perfil/MisInformes.tsx (nuevo, mismo patrón que MisComentarios)
  • src/lib/medical-reports.ts: agrega listMisInformes()
  • src/lib/nav-items.ts: agrega la entrada al menú del estudiante

Cómo probarlo

  1. Con un funcionario que tenga ADJUNTAR_INFORME, adjuntar un PDF y una imagen a un estudiante desde su ficha.
  2. Entrar como ese estudiante y abrir Mis informes desde el inicio o el menú. Tienen que aparecer los dos informes.
  3. Clic en el nombre: se abre la vista previa en una pestaña nueva. Clic en el
  4. Eliminar uno de los informes desde la ficha: deja de aparecer en Mis informes.
  5. Entrar como funcionario a /perfil/informes: aparece "No tenés permiso para ver esta página".

Verificado

  • eslint limpio y next build sin errores.
  • Probado en local con backend dev:
    • el listado y la paginación funcionan;
    • la vista previa responde con inline y la descarga con attachment;
    • un informe de otro estudiante da 404 y el listado de funcionarios da 403 con el token del estudiante;
    • un funcionario que entra a la página ve "Sin permiso".

Merge request reports

Loading