Skip to content

Fix: los informes adjuntos eliminados dejan marca en el listado de la ficha

belen.varsi requested to merge pft/fix/marca-informes-eliminados into dev

Qué

El listado de informes adjuntos de un estudiante (el que usan los funcionarios) ahora incluye los informes eliminados, como marca y sin URL de descarga.

Por qué

Al eliminar un informe, desaparecía de la ficha sin dejar rastro visible. La información seguía en la base y en la auditoría, pero quien abre la ficha no tenía forma de saber que hubo un informe ahí. Es el mismo criterio que se aplicó a los comentarios normales de instancia: lo eliminado deja una marca en la pantalla y la auditoría queda para el detalle.

Cambios

  • InformeAdjuntoService.listarPorEstudiante: devuelve los informes ACTIVO y ELIMINADO.
  • InformeAdjuntoMapper.toDto: en un informe ELIMINADO, urlDescarga va en null. El nombre y las fechas se mantienen; updatedAt es la fecha de eliminación.
  • InformeAdjuntoController: el listado se ordena por createdAt por defecto, para que un informe eliminado no cambie de posición.
  • InformeAdjuntoRepository: nuevo findByEstudianteIdUsuarioAndEstadoIn.
  • Tests: caso nuevo en el mapper (eliminado sin URL) y ajuste de los de listar del service y de seguridad.

No cambia:

  • El listado del propio estudiante (GET /informes-adjuntos/mios) sigue trayendo solo los activos.
  • Obtener por id, descargar y eliminar siguen operando solo sobre informes activos: sobre uno eliminado responden 404.
  • Los permisos: adjuntar sigue exigiendo ADJUNTAR_INFORME, que el rol Estudiante no tiene.

Cómo probar

  1. GET /informes-adjuntos?idUsuario={id} con un usuario con VER_INFORME: lista los informes del estudiante.
  2. Eliminar uno con DELETE /informes-adjuntos/{id} y volver a listar: sigue en la lista, en la misma posición, con estado: "ELIMINADO" y urlDescarga: null.
  3. GET /informes-adjuntos/{id}/descargar sobre el eliminado: 404.
  4. Como el estudiante dueño, GET /informes-adjuntos/mios: el informe eliminado no aparece.

Tests: ./mvnw test -Dtest='InformeAdjunto*Test'

Cambios en BD

Ninguno.

Merge request reports

Loading