82 lines
3.0 KiB
Markdown
82 lines
3.0 KiB
Markdown
# 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-Oberfläche vergleichbar bleiben.
|
|
|
|
## Ziel
|
|
|
|
- Kernseiten aus `app/ledger.php` lesen lassen.
|
|
- Bestehendes Tabellenlayout und Bediengefühl erhalten.
|
|
- Schreibende Legacy-Flows erst nach stabiler Leseparität umstellen.
|
|
- Tenant-Kontext serverseitig bestimmen, nicht aus Formularfeldern.
|
|
|
|
## Umgesetzte Schritte
|
|
|
|
Umgesetzte Dateien:
|
|
|
|
```text
|
|
kaffeeliste.php
|
|
teilnehmerauswertung.php
|
|
index.php
|
|
```
|
|
|
|
Umgesetzter Umfang `kaffeeliste.php`:
|
|
|
|
- Die Gesamtübersicht 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 über
|
|
`participants.legacy_mitarbeiter_id` erhalten.
|
|
- Owner, Admin und Treasurer dürfen 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 für Legacy-Admins;
|
|
Ledger-Leseansichten sind für passende SaaS-Rollen sichtbar.
|
|
- Export, letzte Einträge, CSV-Upload und Info-Mail bleiben noch Legacy-Flows.
|
|
|
|
Umgesetzter Umfang `teilnehmerauswertung.php`:
|
|
|
|
- Die Detailauswertung liest Teilnehmerdaten über
|
|
`ledger_fetch_participant_summary_by_legacy_id()`.
|
|
- Die Route bleibt kompatibel zu bestehenden Links:
|
|
`teilnehmerauswertung.php?user_id=<legacy_mitarbeiter_id>`.
|
|
- Gesamtwerte, Jahresübersicht und letzte Buchungen werden aus
|
|
`ledger_entries` geladen.
|
|
- PayPal-Anzeige nutzt die neuen Tenant-Settings statt `kl_config`.
|
|
- Owner, Admin und Treasurer dürfen die SaaS-Ansicht lesen; der lokale
|
|
Legacy-/Dev-Admin-Fallback nutzt weiterhin den Default-Tenant.
|
|
|
|
Ergänzte Ledger-Helfer:
|
|
|
|
- `ledger_fetch_default_tenant()`
|
|
- `ledger_fetch_participant_summary_by_legacy_id()`
|
|
- `ledger_mirror_legacy_consumption()`
|
|
- Filter `legacy_mitarbeiter_ids` in `ledger_fetch_participant_summaries()`
|
|
|
|
Umgesetzter Umfang `index.php`:
|
|
|
|
- Das persönliche Dashboard liest den aktuellen Stand, Jahreswerte und letzte
|
|
Buchungen aus `ledger_entries`.
|
|
- Die Teilnehmerzuordnung erfolgt über den aktuellen SaaS-User oder im lokalen
|
|
Legacy-/Dev-Fallback über die E-Mail-Adresse des Legacy-Mitarbeiters.
|
|
- PayPal-Anzeige und Preis pro Strich nutzen die Tenant-Settings.
|
|
- Eigene Web-Striche bleiben mit dem bestehenden Legacy-Datensatz kompatibel
|
|
und werden direkt ins Ledger gespiegelt.
|
|
|
|
## Noch offen
|
|
|
|
- Schreibseiten `stricheintragen.php` und `einzahlung.php` erst danach mit
|
|
Storno-/Reversal-Strategie vorbereiten.
|
|
- Export, Mail und Jahresprozesse bleiben M6-Themen.
|
|
|
|
## Aktueller Prüfstatus
|
|
|
|
- M4 Ledger-Migration: grün mit 73 Assertions.
|
|
- M4 Ledger-Service: grün mit 115 Assertions.
|
|
- Golden Master: grün mit 104 Assertions.
|
|
- HTTP-Smoke: grün mit 23 geprüften Seiten.
|