Commit Graph

2026 Commits

Author SHA1 Message Date
c458a9c26c [34588f42] Feature: BCC-Kopie an Kontaktadresse und UI-Übersicht für Formularantworten integriert 2026-04-18 11:20:52 +00:00
aa3ff2998f [34588f42] Keine Zusammenfassung angegeben.
Keine Zusammenfassung angegeben.
2026-04-17 22:14:18 +00:00
9645859091 Docs: Aktualisierung der Dokumentation für Task [34588f42] 2026-04-17 22:14:18 +00:00
8d7f5cbbb6 [34588f42] Chore: Build-Artefakte und Test-Skript hinzugefügt
- Frontend Produktions-Build aktualisiert.
- Test-Skript für Dankes-E-Mails committed.
2026-04-17 22:14:00 +00:00
806fa199ce [34588f42] Docs: README für Fotograf.de Scraper aktualisiert
- Feature 6 (Freigabeanfragen & Gutschein-Automation) dokumentiert.
- Technische Details zu Zeitzonen, Sicherheitsmodus (DEV_MODE) und Webhook-URL ergänzt.
2026-04-17 22:13:34 +00:00
19247280a0 [34588f42] Refactor: E-Mail Template für Freigabeanfrage optimiert
- Automatische Bereinigung des Einrichtungsnamens (Entfernung von 'Kindergarten' und Jahreszahlen).
- Links im Text korrigiert und Gallerie-Link auf URL gesetzt.
- Textfluss gestrafft (weniger Absätze) und Grußformel angepasst.
2026-04-17 22:04:57 +00:00
da4995bb3e [34588f42] Fix: Robuste Zeitzonen-Handhabung (Europe/Berlin) für Scheduling
- Hardcodierter UTC+2 Offset durch ZoneInfo('Europe/Berlin') ersetzt, um automatische Sommer-/Winterzeit-Umstellung sicherzustellen.
2026-04-17 21:59:24 +00:00
080a202a9f [34588f42] Fix: FastAPI imports im publish_request_api.py wiederhergestellt 2026-04-17 21:51:11 +00:00
ba06e6d033 [34588f42] Feat: Personalisierte Dankes-E-Mail mit Anleitung und Signatur
- ReleaseParticipant Tabelle hinzugefügt, um Vornamen für den Webhook zwischenzuspeichern.
- Dankes-E-Mail Template mit Anleitungstext, Gutschein-Code und Anleitung-Bild aktualisiert.
- Offizielle Projektsignatur in Backend-E-Mails integriert.
- Frontend sendet nun Teilnehmer-Mapping beim Versand der Anfrage.
2026-04-17 21:43:30 +00:00
3f6b27a89f [34588f42] Feat: Tool 4 für Freigabe-Anfrage verschlankt
- Tool 4 (Freigabeanfragen) wurde von der Tool 3 Abhängigkeit (Supermailer-Analyse) getrennt.
- UI akzeptiert nun eine Liste im Format: E-Mail, Vorname, Kindernamen.
- Das vereinfacht den Workflow drastisch, wenn nur eine Handvoll Kunden manuell für Freigaben angefragt werden sollen.
2026-04-17 20:56:13 +00:00
9b4f80a44f [34588f42] Sec: DEV_MODE_EMAIL_RECIPIENT Implementierung
- E-Mail-Service so konfiguriert, dass alle ausgehenden E-Mails an eine definierte Test-E-Mail-Adresse umgeleitet werden, wenn DEV_MODE_EMAIL_RECIPIENT gesetzt ist.
2026-04-17 20:27:24 +00:00
1f5805e64c [34588f42] Feat: Versandzeit-Steuerung für Freigabe-Anfragen hinzugefügt
- Backend unterstützt nun zeitgesteuerten Versand (scheduled_time) via BackgroundTasks.
- Frontend um ein Zeitauswahl-Feld erweitert.
2026-04-17 20:21:44 +00:00
929d92afeb [34588f42] Feat: Freigabe-Anfrage mit Gutschein-Webhook integriert
- Datenbank um 'DiscountCode' Modell erweitert.
- Neue Backend API-Routen für Upload von Gutscheincodes, Abfrage der Verfügbarkeit und Webhook-Listener (Google Forms) zur automatischen Dankes-E-Mail erstellt.
- Frontend (App.tsx) um ein neues Tool ('Anfrage Veröffentlichung') erweitert, das anhand der CSV-Daten Platzhalter (<Name>, <Kind>, <Kindergarten>) personalisiert und Mails via Gmail versendet.
- Google Forms Webhook Script (google_forms_webhook.js) als Kopiervorlage erstellt.
2026-04-17 20:17:30 +00:00
1a3568f69e [34288f42] Keine Zusammenfassung angegeben.
Keine Zusammenfassung angegeben.
2026-04-14 14:09:58 +00:00
0cca30a956 Docs: Aktualisierung der Dokumentation für Task [34288f42] 2026-04-14 14:09:58 +00:00
2592607b04 [34288f42] Keine Zusammenfassung angegeben.
Keine Zusammenfassung angegeben.
2026-04-14 08:37:51 +00:00
f148f40d9e Docs: Aktualisierung der Dokumentation für Task [34288f42] 2026-04-14 08:37:50 +00:00
1dd4c6b6da [32788f42] Bugfix in der QR-Karten-Generierung: Vergangene Calendly-Termine werden nun sowohl beim Abruf (Startzeit auf 'jetzt' gesetzt) als auch bei der Verarbeitung (Filterung auf Termine ab heute 00:00 Uhr Berlin Zeit) korrekt ausgeschlossen. Dies behebt die Anzeige von Altdaten aus dem Vorjahr.
Bugfix in der QR-Karten-Generierung: Vergangene Calendly-Termine werden nun sowohl beim Abruf (Startzeit auf 'jetzt' gesetzt) als auch bei der Verarbeitung (Filterung auf Termine ab heute 00:00 Uhr Berlin Zeit) korrekt ausgeschlossen. Dies behebt die Anzeige von Altdaten aus dem Vorjahr.
2026-04-12 19:57:12 +00:00
daa3637ef6 Docs: Aktualisierung der Dokumentation für Task [32788f42] 2026-04-12 19:57:11 +00:00
5e0186c534 [33e88f42] Keine Zusammenfassung angegeben.
Keine Zusammenfassung angegeben.
2026-04-10 21:51:12 +00:00
c2f614d7ad Docs: Aktualisierung der Dokumentation für Task [33e88f42] 2026-04-10 21:51:11 +00:00
e8c2cdfff9 [32788f42] Keine Zusammenfassung angegeben.
Keine Zusammenfassung angegeben.
2026-04-08 16:39:30 +00:00
2cfda1da57 Docs: Aktualisierung der Dokumentation für Task [32788f42] 2026-04-08 16:39:29 +00:00
4baece46bb [32788f42] Keine Zusammenfassung angegeben.
Keine Zusammenfassung angegeben.
2026-04-08 08:21:54 +00:00
5d28a34f02 Docs: Aktualisierung der Dokumentation für Task [32788f42] 2026-04-08 08:21:53 +00:00
831ec7e71c [32788f42] Keine Zusammenfassung angegeben.
Keine Zusammenfassung angegeben.
2026-04-07 18:10:46 +00:00
229ad10e6b Docs: Aktualisierung der Dokumentation für Task [32788f42] 2026-04-07 18:10:44 +00:00
43658c2921 [2f988f42] Keine Zusammenfassung angegeben.
Keine Zusammenfassung angegeben.
2026-03-25 12:11:22 +00:00
fa68e42f5f Docs: Aktualisierung der Dokumentation für Task [2f988f42] 2026-03-25 12:11:21 +00:00
e411addfe2 [32788f42] Investierte Zeit in dieser Session: 00:30 (Finaler Feinschliff)
Investierte Zeit in dieser Session: 00:30 (Finaler Feinschliff)

Arbeitszusammenfassung:
  Zusammenfassung der Ergebnisse:

  1. Finaler Listen-Fix:
      * Das Verschwinden der Einwilligungs-Häkchen auf der Terminliste wurde behoben. Statt eines unsicheren Unicode-Zeichens wird nun ein robustes, CSS-gezeichnetes Checkbox-Symbol mit grünem Häkchen verwendet, das garantiert in jedem PDF erscheint.
      * Die Einwilligungserkennung wurde durch Live-Datenanalyse von Calendly-Antworten ("Ja, gerne" vs. "Nein, eher nicht") verifiziert und stabilisiert.

  2. Header-Optimierung:
      * Der Titel der Terminliste wurde auf den Calendly-Event-Namen fokussiert.
      * Die automatische Entfernung von (JOBXXXXX) Markierungen aus den Auftragsnamen wurde perfektioniert.

  Damit sind alle Anforderungen für den Fotograf.de Scraper und die Shooting-Planung vollständig umgesetzt.
2026-03-21 19:56:57 +00:00
53ccdd2b69 Docs: Aktualisierung der Dokumentation für Task [32788f42] 2026-03-21 19:56:56 +00:00
6bf9260923 [32788f42] Fix missing consent checkmark in PDF list by using a pure CSS drawn checkbox instead of relying on Unicode fonts 2026-03-21 19:51:37 +00:00
7c5b584890 [32788f42] Cleanup PDF list header, fix JOB prefix removal, and further improve consent logic 2026-03-21 19:42:58 +00:00
a128ca9921 [32788f42] Improve flexible matching for children count question in Calendly events 2026-03-21 19:32:59 +00:00
965696b1ca [32788f42] Investierte Zeit in dieser Session: 01:00
Investierte Zeit in dieser Session: 01:00

Arbeitszusammenfassung:
  Zusammenfassung der Ergebnisse:

  1. Feature 3: Nachfass-E-Mails (Supermailer) implementiert:
      * Portierung der Legacy-Scraping-Logik in den Microservice.
      * Neuer Hintergrund-Task analysiert Käuferverhalten, identifiziert Nicht-Käufer mit 0-1 Logins und extrahiert E-Mail-Adressen sowie Schnell-Login-Links.
      * Aggregations-Logik fasst mehrere Kinder pro E-Mail-Adresse zusammen (z.B. "Fotos von Max und Moritz").
      * Neuer API-Endpunkt generiert eine fertige CSV-Datei für den Supermailer (UTF-8-SIG für Excel-Kompatibilität).

  2. UI-Integration:
      * Tool 3 im Auftrags-Modal ist nun aktiv.
      * Echtzeit-Fortschrittsanzeige während der (langen) Analyse.
      * Download-Button erscheint automatisch nach Abschluss der Analyse.
2026-03-21 19:32:43 +00:00
787002532d Docs: Aktualisierung der Dokumentation für Task [32788f42] 2026-03-21 19:32:42 +00:00
ba8565e59a [32788f42] Implement Feature 3: Nachfass-E-Mails (Reminder Analysis) with CSV export for Supermailer 2026-03-21 19:31:10 +00:00
539f30bdb7 [32788f42] Investierte Zeit in dieser Session: 00:30 (Zusatz-Fixes)
Investierte Zeit in dieser Session: 00:30 (Zusatz-Fixes)

Arbeitszusammenfassung:
  Zusammenfassung der Ergebnisse:

  1. Unicode- & Font-Fix:
      * Einbindung von OpenSans-Regular.ttf zur korrekten Darstellung von Sonderzeichen (ć, ł, etc.) auf QR-Karten und Listen.

  2. Layout-Optimierungen:
      * PDF-Liste: Zeilenabstände verringert für höhere Datendichte pro Seite.
      * "Pausen-Management": Automatische Komprimierung von mehr als zwei aufeinanderfolgenden freien Slots zu einer kompakten "Pause"-Zeile.
      * Header-Fix: Automatisches Entfernen von "JOBXXXXX" Präfixen aus dem Auftragsnamen.
      * Page-Breaks: Erzwungener Seitenumbruch pro Shooting-Tag inkl. Header-Wiederholung.

  3. Consent-Logik (Synchronisation):
      * Angleichung der Einwilligungserkennung für QR-Karten und Listen (Suche nach "veröffentlichen"/"bilder" + "ja").
      * Positionierung des ☑ Symbols am Ende der Textzeile bei QR-Karten.
2026-03-21 19:26:48 +00:00
7546b4021d Docs: Aktualisierung der Dokumentation für Task [32788f42] 2026-03-21 19:26:48 +00:00
1c98566e93 [32788f42] Fix font encoding for PDF generation, compress empty slots in appointment list, adjust layout and checkbox positioning 2026-03-21 19:23:31 +00:00
d3987ea20b [32788f42] Fix Calendly pagination 400 Bad Request by using native next_page URL 2026-03-21 18:37:03 +00:00
02a1ecb53d [32788f42] Investierte Zeit in dieser Session: 01:15
Investierte Zeit in dieser Session: 01:15

Arbeitszusammenfassung:
  Zusammenfassung der Ergebnisse:

  1. QR-Karten Tool (Feinschliff):
      * Die Y-Achse wurde um weitere 9 mm nach unten korrigiert (jetzt 31mm / 180mm), um perfekt auf den Linien zu sitzen.
      * Volle Zeitzonen-Unterstützung (Europe/Berlin) für korrekte Uhrzeiten im PDF.
      * Automatischer Andruck einer manuell gezeichneten Checkbox (☑) bei vorliegender Bildveröffentlichungseinwilligung aus Calendly.

  2. Shooting-Planung (Integration):
      * Das Tool wurde vom globalen Header direkt in die Detailansicht der Fotoaufträge verschoben.
      * Dynamische Auswahl des Calendly-Event-Typs (z.B. "Neuching") über ein Dropdown-Menü. Die manuelle Datumseingabe entfällt.

  3. Termin-Übersichtsliste (Neu):
      * Generierung einer A4-PDF-Tabelle für den Shooting-Tag.
      * Automatisches 6-Minuten-Raster zwischen erstem und letztem Termin, inklusive "Blank-Spacing" (leere Zeilen) für nicht gebuchte Slots.
      * Layout mit Logo (oben rechts), Auftragsname (oben links) und Spalten für Familie, Kinder, Veröffentlichung und Erledigt-Häkchen.

  4. Technische Fixes & Stabilität:
      * Calendly-Pagination-Bug behoben: Das System blättert nun durch alle Ergebnisseiten, um auch bei über 100 Terminen alle Buchungen zu finden.
      * Syntaxfehler in qr_generator.py korrigiert.
      * README.md im Scraper-Verzeichnis auf den neuesten Stand gebracht.
2026-03-21 14:07:48 +00:00
70adecae58 Docs: Aktualisierung der Dokumentation für Task [32788f42] 2026-03-21 14:07:48 +00:00
066470e82c [32788f42] Update README with new Shooting-Planung features and technical fixes 2026-03-21 14:05:45 +00:00
106cfe6e33 [32788f42] Fix Calendly pagination missing events bug 2026-03-21 14:02:25 +00:00
d4b20eb113 [32788f42] Fix unterminated string literal in qr_generator.py 2026-03-21 13:52:37 +00:00
f72719b9a4 [32788f42] Add Termin-Übersicht feature, dynamic Event-Type selection, and refactor QR cards UI into Job Details 2026-03-21 13:46:26 +00:00
c62db8a2ef [32788f42] Investierte Zeit in dieser Session: 00:30
Investierte Zeit in dieser Session: 00:30

Arbeitszusammenfassung:
  Zusammenfassung der Ergebnisse:

  1. QR-Karten Tool (Feinschliff):
      * Die Y-Achse für den Andruck wurde um 9 mm nach unten korrigiert, sodass die Texte nun perfekt auf den Linien der Blankokarten sitzen. Die X-Achse bleibt bei 72 mm.
      * Zeitzonen-Unterstützung integriert: Die aus der Calendly-API importierten Termine (UTC) werden jetzt automatisch in die Mitteleuropäische Zeit (Europe/Berlin) konvertiert (z. B. 12:00 Uhr statt 10:00 Uhr).
      * Einwilligungs-Feature: Die Skripte prüfen nun, ob in Calendly der Veröffentlichung von Bildern ("Ja, gerne") zugestimmt wurde. Falls ja, wird ein manuell gezeichnetes Checkbox-Häkchen (☑) vor dem Namen im PDF angedruckt.

  Neue Anforderungen für die nächste Session (im System erfasst):
  * Workflow-Änderung: Das QR-Karten-Tool wird vom globalen Header in die auftragsspezifische Ansicht verschoben.
  * Dynamische Event-Auswahl: Nutzer müssen pro Auftrag das spezifische Calendly-Event auswählen. Die Datumsauswahl entfällt dadurch.
  * Neues PDF-Feature: Erstellung einer Übersichtsliste aller Termine (inklusive Lücken / Blank-Spacing für nicht gebuchte Termine im 6-Minuten-Takt).
2026-03-21 13:35:35 +00:00
567dd9a2ca Docs: Aktualisierung der Dokumentation für Task [32788f42] 2026-03-21 13:35:34 +00:00
ec877ef65b [32788f42] Update QR card generator: adjust Y-coordinates, add timezone support, and render checkboxes 2026-03-21 13:35:16 +00:00