Registro de Cambios (Changelog)
# Changelog

Todos los cambios notables en este proyecto se documentar谩n en este archivo.

El formato est谩 basado en [Keep a Changelog](https://keepachangelog.com/es-ES/1.0.0/).

## [Unreleased]

### A帽adido
- **Responsables y Pagos**:
  - `pagos/models.py` y `pagos/forms.py`: Se agreg贸 el campo `fecha_pago` al modelo `Responsable` (opciones: D铆a 15 o Fin de mes).
- **Pruebas (Tests)**:
  - `webpage/tests.py`: Se agreg贸 `test_homepage_loads` para verificar la carga correcta de la p谩gina principal (c贸digo de respuesta 200).
  - `happycustomers/tests.py`: Se a帽adi贸 `test_whatsapp_webhook_response` para garantizar que el webhook de WhatsApp / Twilio reciba un estado 200 y responda adecuadamente simulando un usuario de prueba en base de datos.
  - `sportsresults/tests.py`: Se incorpor贸 `test_campeonatos_list_loads` para comprobar la correcta visualizaci贸n del cat谩logo de campeonatos.
- **Notificaciones (WhatsApp / Twilio)**:
  - Creaci贸n del management command `enviar_recordatorios.py` para notificar deudores de mensualidad 5 d铆as antes de la fecha l铆mite y diariamente hasta que paguen.
  - Implementaci贸n de un endpoint seguro `ejecutar_recordatorios` protegido por token `CRON_SECRET_TOKEN` en `pagos/views.py` para ser ejecutado v铆a Google Cloud Scheduler.

### Modificado/Corregido
- **Configuraci贸n (GCP Cloud Run)**:
  - `EsquiBasket/settings.py`: Se agregaron los dominios alternativos (`squibasquet.com` y `www.squibasquet.com`) a la lista de `CSRF_TRUSTED_ORIGINS`.
  - Se a帽adi贸 `USE_X_FORWARDED_HOST = True` y `CSRF_COOKIE_SECURE = True` para corregir los bloqueos 403 (CSRF) al iniciar sesi贸n en el entorno de producci贸n (Cloud Run).
- **Dashboard**:
  - `pagos/views.py`: Se corrigieron los c谩lculos de inicio/fin de mes en la vista `dashboard` implementando `timezone.localtime()` para asegurar que la sumatoria de ingresos no sufriera desfasajes debido a diferencias horarias con el servidor UTC.
- **Formularios e Interfaces (UI)**:
  - `pagos/forms.py`: Se corrigi贸 un bug en el campo `monto` de `PagoForm` eliminando el valor fijo `value=150` que interfer铆a con la edici贸n de cantidades.
  - Plantillas (`editar_responsable.html`, `editar_alumno.html`, `editar_pagos.html`): Se implement贸 la visualizaci贸n de un asterisco rojo (`<span class="text-danger">*</span>`) estrictamente para los campos que son obligatorios al crear o modificar registros.
- **Recordatorios Autom谩ticos**:
  - `enviar_recordatorios.py`: Se actualiz贸 la l贸gica para validar d铆as de entrenamiento (lunes, mi茅rcoles y viernes) y enviar notificaciones de mes vencido de manera din谩mica con la nueva variable Twilio `{{2}}` para ilustrar la cantidad de meses adeudados.

### Modificado
- **Responsables**:
  - `pagos/models.py`: Se modific贸 el campo `email` en la clase `Responsable` para incluir `blank=True`, lo que lo vuelve no obligatorio desde el sistema.
- **Pagos**:
  - `pagos/models.py`: Se actualiz贸 el m茅todo `__str__` del modelo `PeriodoPago` para devolver de manera expl铆cita el nombre de los meses en espa帽ol en lugar de depender de la configuraci贸n regional (locale) del sistema. Esto soluciona un problema visual en la versi贸n m贸vil del estado de cuenta.
  - Plantillas de Pagos (`listado_de_alumnos.html`, `listado_de_pagos_al_dia.html`, `listado_de_pagos_atrasados.html`): Mejoras menores de formato y legibilidad en el c贸digo HTML.
- **Documentaci贸n**:
  - `docs/testing_guide.md`: Gu铆a de documentaci贸n de pruebas de la aplicaci贸n, incluyendo detalles de la forma de ejecutarlos por m贸dulo.
  - Creaci贸n del archivo de registro `CHANGELOG.md` (este documento) para documentar el historial y evoluci贸n del proyecto.

### Modificado
- **Pagos**:
  - `pagos/models.py`: Se actualiz贸 el m茅todo `__str__` del modelo `PeriodoPago` para devolver de manera expl铆cita el nombre de los meses en espa帽ol en lugar de depender de la configuraci贸n regional (locale) del sistema. Esto soluciona un problema visual en la versi贸n m贸vil del estado de cuenta.
  - Plantillas de Pagos (`listado_de_alumnos.html`, `listado_de_pagos_al_dia.html`, `listado_de_pagos_atrasados.html`): Mejoras menores de formato y legibilidad en el c贸digo HTML.