M5 Kaffeeliste read-only auf Ledger umstellen
- kaffeeliste.php aus ledger_fetch_participant_summaries lesen lassen - Legacy-Teilnehmerlinks ueber legacy_mitarbeiter_id erhalten - Sidebar-Zugriff fuer Legacy-Admin und SaaS-Rollen trennen - Smoke-Test um konkrete Ledger-Werte und Inaktiv-Ausschluss erweitern - M5-App-Kern-Doku ergaenzen
This commit is contained in:
@@ -151,7 +151,7 @@ Installation aus `.local/` verwendet werden.
|
||||
## Aktueller Pruefstatus
|
||||
|
||||
- M4 Ledger-Migration: gruen mit 73 Assertions.
|
||||
- M4 Ledger-Service: gruen mit 102 Assertions.
|
||||
- M4 Ledger-Service: gruen mit 110 Assertions.
|
||||
- M3 SaaS-Basis: weiterhin gruen.
|
||||
- M3 Tenant-Aufloesung: weiterhin gruen.
|
||||
- M3 Passwort/E-Mail: weiterhin gruen.
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
# M5 App-Kern
|
||||
|
||||
Stand: 2026-07-14
|
||||
|
||||
M5 stellt die operativen App-Seiten schrittweise auf das neue tenant-sichere
|
||||
Modell um. Der Start erfolgt bewusst read-only, damit Summen, Links und
|
||||
Darstellung gegen die bestehende Legacy-Oberflaeche vergleichbar bleiben.
|
||||
|
||||
## Ziel
|
||||
|
||||
- Kernseiten aus `app/ledger.php` lesen lassen.
|
||||
- Bestehendes Tabellenlayout und Bediengefuehl erhalten.
|
||||
- Schreibende Legacy-Flows erst nach stabiler Leseparitaet umstellen.
|
||||
- Tenant-Kontext serverseitig bestimmen, nicht aus Formularfeldern.
|
||||
|
||||
## Umgesetzter erster Schritt
|
||||
|
||||
Umgesetzte Datei:
|
||||
|
||||
```text
|
||||
kaffeeliste.php
|
||||
```
|
||||
|
||||
Umgesetzter Umfang:
|
||||
|
||||
- Die Gesamtuebersicht liest aktive Teilnehmer aus
|
||||
`ledger_fetch_participant_summaries()`.
|
||||
- Angezeigte Werte bleiben fachlich gleich: aktueller Stand, Gesamtausgabe,
|
||||
Gesamtstriche und Gesamteinzahlungen.
|
||||
- Links zur bestehenden `teilnehmerauswertung.php` bleiben ueber
|
||||
`participants.legacy_mitarbeiter_id` erhalten.
|
||||
- Owner, Admin und Treasurer duerfen die SaaS-Ansicht lesen.
|
||||
- Der lokale Legacy-/Dev-Admin-Fallback nutzt nur ohne SaaS-Session den
|
||||
Default-Tenant.
|
||||
- Die Sidebar zeigt Legacy-Schreibseiten weiterhin nur fuer Legacy-Admins;
|
||||
Ledger-Leseansichten sind fuer passende SaaS-Rollen sichtbar.
|
||||
- Export, letzte Eintraege, CSV-Upload und Info-Mail bleiben noch Legacy-Flows.
|
||||
|
||||
## Noch offen
|
||||
|
||||
- `teilnehmerauswertung.php` lesend auf Ledger umstellen.
|
||||
- `index.php` Dashboard lesend auf Ledger umstellen.
|
||||
- Schreibseiten `stricheintragen.php` und `einzahlung.php` erst danach mit
|
||||
Storno-/Reversal-Strategie vorbereiten.
|
||||
- Export, Mail und Jahresprozesse bleiben M6-Themen.
|
||||
|
||||
## Aktueller Pruefstatus
|
||||
|
||||
- M4 Ledger-Migration: gruen mit 73 Assertions.
|
||||
- M4 Ledger-Service: gruen mit 110 Assertions.
|
||||
- Golden Master: gruen mit 104 Assertions.
|
||||
- HTTP-Smoke: gruen mit 23 geprueften Seiten.
|
||||
@@ -305,7 +305,7 @@ Uebersicht:
|
||||
| M2 | Technisches Fundament | Abgeschlossen: Migrationen, Bootstrap, Session, CSRF-Helper und Legacy-Schreibseitenschutz stehen |
|
||||
| M3 | SaaS-Basis | Abgeschlossen: Tenants, User, Registrierung, Login, Rollen, Mail-Links und zentrale Mandantenauswahl funktionieren |
|
||||
| M4 | Datenmigration | Gestartet: Ledger-Tabelle, Legacy-Backfill, Paritaetscheck, Ledger-Service und Preview sind umgesetzt |
|
||||
| M5 | App-Kern | Dashboard, Striche, Einzahlungen, Mitglieder und Liste laufen |
|
||||
| M5 | App-Kern | Gestartet: Gesamtuebersicht liest read-only aus dem Ledger |
|
||||
| M6 | Betriebsflows | Import, Export, Mail und Jahresprozesse sind auditierbar |
|
||||
| M7 | Landingpage | Public-Seite und Auth-Seiten sind im gemeinsamen Stil nutzbar; spaetere Ausbaustufen folgen |
|
||||
| M8 | Haertung | Betrieb, Datenschutz, Monitoring und Isolation sind geprueft |
|
||||
@@ -509,7 +509,8 @@ Schritte:
|
||||
- Eigene Stricherfassung umsetzen.
|
||||
- Zahlungs-/PayPal-Bereich umsetzen.
|
||||
- Mitgliederverwaltung tenant- und rollenbasiert umsetzen.
|
||||
- Gesamtuebersicht umsetzen.
|
||||
- Gesamtuebersicht umsetzen: erster read-only Stand in `kaffeeliste.php`
|
||||
erledigt.
|
||||
- Letzte Eintraege und Korrekturen als Storno statt Delete umsetzen.
|
||||
- Hinweise als tenant-spezifische Notices umsetzen.
|
||||
|
||||
@@ -517,6 +518,7 @@ Ergebnis:
|
||||
|
||||
- Ein Kunde kann seine Kaffeeliste operativ nutzen.
|
||||
- App sieht weiterhin nach bestehender Kaffeeliste aus.
|
||||
- Erster M5-Stand ist in `docs/m5-app-kern.md` dokumentiert.
|
||||
|
||||
Abhaengigkeiten:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user