Skip to content

hotfix(ingreso): se añade campo para subir archivo al registrar ingreso#108

Merged
MMwile merged 2 commits into
developfrom
hotfix/ingresos-archivo
Jun 22, 2026
Merged

hotfix(ingreso): se añade campo para subir archivo al registrar ingreso#108
MMwile merged 2 commits into
developfrom
hotfix/ingresos-archivo

Conversation

@EmaGaleas

@EmaGaleas EmaGaleas commented Jun 22, 2026

Copy link
Copy Markdown
Owner

Descripción

Se introduce la compatibilidad con archivos adjuntos obligatorios (máximo 5 MB) para el registro de pagos, modificando el envío de datos de un payload JSON a un formato FormData para soportar la carga de documentos (PDF o imágenes), junto con mejoras visuales de validación y la restricción a caracteres puramente numéricos en el campo de comprobante.

Qué cambió

  • Inputs Duales: Se agregaron entradas ocultas para subir archivos y tomar fotos (cámara móvil activa).
  • Validación Visual: Borde dinámico verde si el archivo existe y es válido (< 5 MB), o rojo si falta.
  • Restricción Numérica: El campo de número de recibo/comprobante ahora solo acepta dígitos (0-9).
  • Cambio a FormData: Modificación del Hook para enviar los datos como FormData (multipart/form-data) en vez de JSON.

Cómo probarlo

# Con docker
cd frontend
pnpm install
pnpm run dev

# Sin Docker
# Reconstruir la imagen del frontend con los nuevos cambios
docker compose build frontend
# Levantar los servicios afectando los contenedores necesarios
docker compose up -to-date -d

Historia / Tarea relacionada

  • Story Points: N/A
  • Sprint: 3

Checklist del autor

Marca todo lo que aplica antes de pedir revisión.

  • El título sigue la convención: tipo(alcance): descripción — ej. feat(egresos): registrar egreso con evidencia
  • La rama sale de develop y apunta a develop (no a main)
  • El PR tiene menos de 400 líneas cambiadas
  • Incluye tests para el caso feliz y al menos un caso borde (EN CASO DE APLICAR)
  • Los nombres de variables, funciones y clases comunican intención
  • Asignado al menos 1 reviewer del equipo
  • Agregar los labels correspondientes (feat / fix / refactor / test / docs · sprint-#)

Checklist del reviewer

Antes de aprobar, verifica:

  • ¿Los tests cubren caso feliz y caso borde?
  • ¿Los nombres comunican la intención del código?
  • ¿Las funciones son pequeñas y enfocadas en una sola responsabilidad?
  • ¿Se respetan los principios SOLID? ¿Hay acoplamientos innecesarios?
  • ¿Hay manejo de errores explícito donde corresponde?
  • ¿El PR es de tamaño razonable (< 400 líneas)?

Se introduce la compatibilidad con archivos adjuntos para el registro de pagos. Los cambios incluyen:

- frontend/src/features/ingresos/components/PaymentMethodPanel.tsx: Se agregaron campos de entrada de archivos ocultos (estándar y captura de cámara), botones de interfaz de usuario para cargar/tomar una foto, vista previa de archivos con icono y borde dinámicos, aceptación de PDF/imágenes, restablecimiento del valor de entrada tras la selección, restricción de entrada numérica para el código y pequeñas actualizaciones de texto/marcadores de posición.

- frontend/src/features/ingresos/components/PaymentRegistration.tsx: Se pasan las propiedades `file`, `fileError` y `onFileChange` del hook a PaymentMethodPanel.

- frontend/src/features/ingresos/hooks/usePaymentRegistration.ts: Se agregaron los estados `file` y `fileError`, se implementó `handleFileChange` con un límite de 5 MB y manejo de errores, se restableció el archivo al modificarlo el cliente y tras un envío exitoso, se validó la presencia del archivo antes de enviarlo y se envió la carga útil como FormData (incluyendo el archivo y los arrays de identificadores) a la API.

También incluye pequeñas mejoras (importaciones, ajustes de mapeo) y conserva las validaciones y el comportamiento anteriores, al tiempo que permite la carga de recibos en el servidor.

@MMwile MMwile left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Listo para hacer merge, todo correcto

@MMwile MMwile merged commit c8619de into develop Jun 22, 2026
2 checks passed
@MMwile MMwile deleted the hotfix/ingresos-archivo branch June 22, 2026 02:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants