banyaro/backend
rene 60fb866283 Gründer-Tickets: 50%-Rabatt-Weitergabe pro Gründer gedeckelt + Pro-Wording korrigiert
Rene: 'ungern jemandem auf ewig die Möglichkeit geben 50% Rabatt zu vergeben —
bei 100 Gründern ein großer Faktor. Ich hätte jedem 25–50 Tickets gegeben.'

- users.founder_referral_tickets (Default 25): Kontingent an 50%-Rabatten,
  die ein Gründer an Geworbene weitergeben kann. Technisch = die ersten N
  VERIFIZIERTEN Geworbenen (nach Anmeldedatum) bekommen 50%, danach 0.
  Unbestätigte verbrauchen kein Ticket. In scheduler.py (Rechnung) + admin.py
  (Vorschau) konsistent.
- BUGFIX nebenbei: admin.py zeigte für referred_by_founder fälschlich 100%
  statt 50% (scheduler war korrekt) — jetzt beide 50%.
- Admin: Grant-Formular bekommt Feld 'Gründer-Tickets' (0–200, Vorbelegung
  aus User-Stand); Endpoint /grant akzeptiert founder_tickets.
- Gründer-Seite + Settings + Admin-Hilfe: 'sobald Bezahlfunktionen aktiv sind'
  raus (Pro kostet bereits); Vorteil 'lebenslang Pro gratis' + '25 Freunde
  zum halben Preis' (Ticket-Framing).
- Tests: test_founder_tickets.py (Cap, Unverified-Schutz, 50%-Bugfix, Grant).
  Suite: 64 passed.
2026-06-08 06:20:19 +02:00
..
routes Gründer-Tickets: 50%-Rabatt-Weitergabe pro Gründer gedeckelt + Pro-Wording korrigiert 2026-06-08 06:20:19 +02:00
scraper Fix: VDH-Fallback-Events aktualisiert — Frankfurt Mai entfernt (vergangen), 7 korrekte Termine 2026 2026-05-08 13:52:37 +02:00
scripts Security + E-Mail-HTML + Quartalsbericht + Registrierungspflicht 2026-05-01 08:20:53 +02:00
static Gründer-Tickets: 50%-Rabatt-Weitergabe pro Gründer gedeckelt + Pro-Wording korrigiert 2026-06-08 06:20:19 +02:00
auth.py Feature: Partner-Profile Backend + Pro-Zugang für Partner 2026-06-07 17:20:20 +02:00
cache.py Perf: 9 Performance-Fixes — SW by-v1072 2026-05-26 06:30:36 +02:00
config.py Bündel 2: Zentrale Helper für DRY-Cleanup, SW by-v1114 2026-05-27 11:19:06 +02:00
content_filter.py Security + E-Mail-HTML + Quartalsbericht + Registrierungspflicht 2026-05-01 08:20:53 +02:00
database.py Gründer-Tickets: 50%-Rabatt-Weitergabe pro Gründer gedeckelt + Pro-Wording korrigiert 2026-06-08 06:20:19 +02:00
entrypoint.sh Revert Dockerfile USER appuser (Synology DSM ACL inkompatibel) 2026-04-23 18:52:51 +02:00
errors.py Bündel 2: Zentrale Helper für DRY-Cleanup, SW by-v1114 2026-05-27 11:19:06 +02:00
generate_thumbs.py Session 2026-04-20: Medien-Konvertierung, Umami Analytics, Username/Privacy 2026-04-20 18:36:58 +02:00
ki.py Fix: KI health_summary Kontextfenster (max 5 Einträge), Cloud-Priority ohne ANTHROPIC_KEY-Check, local-Fallback wrapped (SW by-v798) 2026-05-09 20:08:06 +02:00
mailer.py Fix: Date-Header in ausgehenden Mails (formatdate UTC, Container hat keine lokale TZ) 2026-05-15 12:37:41 +02:00
main.py Schutz gegen kursierende Partner-Codes (Rene: 'Bonus-Codes kursieren gerne das Internet') 2026-06-07 19:35:31 +02:00
math_utils.py Bündel 2: Zentrale Helper für DRY-Cleanup, SW by-v1114 2026-05-27 11:19:06 +02:00
media_utils.py Fix: Karte lädt wieder + safe_media_path + Foto-Löschung (SW by-v932) 2026-05-14 11:58:00 +02:00
migrate_media.py Session 2026-04-20: Medien-Konvertierung, Umami Analytics, Username/Privacy 2026-04-20 18:36:58 +02:00
ratelimit.py Security + E-Mail-HTML + Quartalsbericht + Registrierungspflicht 2026-05-01 08:20:53 +02:00
requirements.txt Feature: QR-Kontingente für Partner — Bestellung, Übergabe, Rückverfolgung 2026-06-07 18:20:23 +02:00
scheduler.py Gründer-Tickets: 50%-Rabatt-Weitergabe pro Gründer gedeckelt + Pro-Wording korrigiert 2026-06-08 06:20:19 +02:00
timeutils.py Teil 3: Terminvorschläge + KI-Limit-Bypass für Admins/Mods — SW by-v435, APP_VER 414 2026-04-26 17:08:18 +02:00
username_blocklist.py Session 2026-04-20: Medien-Konvertierung, Umami Analytics, Username/Privacy 2026-04-20 18:36:58 +02:00
weather.py Wetter-Pill: Niederschlag = Höchstwert der nächsten 3 Std statt Tages-Max 2026-06-05 20:01:32 +02:00
welfare_check.py Feature: Tierschutz-Check, KI-Züchter-Features, Export, SEO-Update 2026-04-28 19:49:54 +02:00