f60c0bb85ec63285b831f2c75129c4bdd64fbf66
Zwei getrennte Flows: - Teilnehmer anonymisieren statt loeschen (ledger_anonymize_participant): Name/E-Mail/PayPal-Name werden durch einen Platzhalter ersetzt, das Mitglied deaktiviert und vom Login-Konto getrennt. Buchungshistorie bleibt fuer die Kassenfuehrung erhalten, konsistent mit dem Storno-statt-Delete-Prinzip. Default-Mandant spiegelt die Anonymisierung in kl_Mitarbeiter (Email dort NOT NULL UNIQUE, bekommt Platzhalter statt NULL). Inhaber kann nicht anonymisiert werden. - Mandant vollstaendig loeschen (mandant-loeschen.php, nur Inhaber): erfordert exakte Eingabe des Kundenkuerzels, loescht die tenants-Zeile; alle tenant-scoped Tabellen kaskadieren per Fremdschluessel. users bleiben bestehen (koennen zu mehreren Mandanten gehoeren). Der migrierte Default-Mandant ist ausgenommen, da seine kl_Mitarbeiter- Historie sonst verwaisen wuerde. Live getestet: Mitglied mit Buchungshistorie anonymisiert (Historie blieb erhalten), Mandantenloeschung mit falscher/richtiger Bestaetigung geprueft, vollstaendiger Cascade-Delete ueber alle tenant-scoped Tabellen verifiziert, globale users-Zeile bleibt korrekt erhalten. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Kaffeeliste
Dieses Repository enthält den laufenden Umbau der Kaffeelisten-App von einer Windows/IIS/LDAP-gebundenen Legacy-App zu einer mehrkundenfähigen SaaS- Anwendung. Der Umbau erfolgt schrittweise im selben Repository, nicht in einem getrennten Zielverzeichnis: Legacy-Seiten und neue SaaS-Bausteine liegen nebeneinander, bis eine Seite vollständig auf das neue Modell umgestellt ist.
Den vollständigen Plan mit Zielbild, Datenmodell, Rollenmodell und
Meilensteinen beschreibt docs/saas-umstrukturierungsplan.md. Der
Fortschritt je Meilenstein steht in docs/m2-technical-foundation.md bis
docs/m5-app-kern.md.
Struktur
- Legacy- und SaaS-Seiten liegen als flache PHP-Dateien im Webroot, zum
Beispiel
index.php,stricheintragen.php,kaffeeliste.php,mitarbeiterverwalten.php. app/: zentrale Bausteine für Bootstrap, DB-Zugriff, Auth, Mail und das neue Ledger-Modell (app/ledger.php).database/migrations/: versionierte Schemaänderungen, anzuwenden überscripts/migrate.php.scripts/: Migrations-, Backfill- und Prüfskripte (Golden Master, HTTP-Smoke, M3/M4-Checks).docs/: Planungs- und Meilensteindokumentation.
Umgang mit Legacy-Seiten
- Seiten, die noch direkt auf
kl_*-Tabellen schreiben, werden schrittweise auf tenant-sicheres Lesen/Schreiben überapp/ledger.phpundapp/saas-auth.phpumgestellt; siehe die Meilensteindokumente für den aktuellen Stand je Seite. - Neue Produktfunktionen entstehen gegen das neue Modell (Tenants, Users,
Participants, Ledger), nicht mehr direkt gegen die
kl_*-Tabellen. - Lokale Entwicklung gegen MySQL ist in
docs/dev-mysql.mdbeschrieben.
Languages
PHP
62.2%
JavaScript
29.4%
CSS
8.4%