- pagos_sumup.py: crear_checkout_battlepay(reference,...) y obtener_checkout()
- battlepay_view: lista las órdenes PENDING de la cuenta de juego
- battlepay_pay_view: crea checkout SumUp para una orden concreta (checkout_reference=reference)
- sumup_webhook: marca la orden PAID (valida estado contra la API de SumUp si falta)
- plantillas account/battlepay.html y partials/pago_sumup.html
- sql/battlepay_sumup.sql (tablas battlepay_orders/battlepay_price) y docs actualizados
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- home/bnet.py: SRP6 v2 (PBKDF2-HMAC-SHA512) para battlenet_accounts y SRP6
Grunt (SHA1) para las cuentas de juego, con helpers bnet<->game account
- login por email contra battlenet_accounts; selector de cuenta de juego
cuando la cuenta bnet tiene varias (my_account redirige al selector)
- registro/activación crean battlenet_accounts + account enlazada (<bnetId>#1,
battlenet_account/battlenet_index)
- cambio de contraseña sobre battlenet_accounts; cambio de email recalcula
salt/verifier (el usuario SRP depende del email)
- AccountActivation: identidad por email (username/salt/verifier opcionales) + migración
- plantillas login/register por email + nueva plantilla del selector
- docs/MIGRACION_3.4.3.md con el detalle y los pasos de verificación
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- README.md: guía de instalación (venv, .env, migraciones, gunicorn) y notas de producción/seguridad
- Dockerfile: imagen Python 3.14 con deps de sistema para mysqlclient/Pillow
- docker-compose.yml: servicios web (Django+gunicorn) y db (MySQL 8.4) con las 4 BBDD
- docker/entrypoint.sh: espera a MySQL, migra, collectstatic y arranca gunicorn
- docker/mysql-init.sql: crea django_wow + bases acore_*
- .dockerignore y gunicorn en requirements
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- settings.py: SECRET_KEY, DEBUG, credenciales MySQL (x4 BBDD), SOAP,
SumUp, Stripe y SMTP ahora se leen de variables de entorno via python-dotenv
- añade .env.example como plantilla y python-dotenv a requirements
- .gitignore: ignora .env
- verificado: manage.py check OK y settings cargan valores desde .env
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>