Deutsche Umlaute in UI und Dokumentation korrigieren

This commit is contained in:
2026-07-14 22:11:33 +02:00
parent f9544f24fd
commit 539117b409
31 changed files with 561 additions and 564 deletions
+39 -39
View File
@@ -2,20 +2,20 @@
Stand: 2026-07-14
M4 uebernimmt die finanznahen Legacy-Buchungen additiv in das neue
M4 übernimmt die finanznahen Legacy-Buchungen additiv in das neue
tenant-sichere Ledger-Modell. Die bestehenden Legacy-Seiten lesen und schreiben
weiterhin die bisherigen `kl_*`-Tabellen; das Ledger dient zunaechst als
vergleichbare, pruefbare Zielstruktur. Erste App-Abfragen koennen nun ueber
weiterhin die bisherigen `kl_*`-Tabellen; das Ledger dient zunächst als
vergleichbare, prüfbare Zielstruktur. Erste App-Abfragen können nun über
einen zentralen Ledger-Service gegen `ledger_entries` laufen.
## Ziel
- `kl_Einzahlungen` nach `ledger_entries` spiegeln.
- `kl_Kaffeeverbrauch` nach `ledger_entries` spiegeln.
- Legacy-IDs erhalten, damit Paritaet und spaetere Delta-Migration moeglich
- Legacy-IDs erhalten, damit Parität und spätere Delta-Migration möglich
bleiben.
- Summen gegen den Golden Master pruefen.
- Keine bestehenden Legacy-Buchungen loeschen oder veraendern.
- Summen gegen den Golden Master prüfen.
- Keine bestehenden Legacy-Buchungen löschen oder verändern.
## Nicht-Ziele
@@ -36,7 +36,7 @@ Neue Tabelle:
- `ledger_entries`
Ergaenzende Skripte:
Ergänzende Skripte:
```text
scripts/backfill-ledger-entries.php
@@ -44,20 +44,20 @@ scripts/check-m4-ledger-migration.php
scripts/check-m4-ledger-service.php
```
Ergaenzende App-Dateien:
Ergänzende App-Dateien:
```text
app/ledger.php
ledger-preview.php
```
Ausgefuehrter Dev-Stand:
Ausgeführter Dev-Stand:
- Migration `0006_saas_ledger_entries.sql` wurde angewendet.
- 9 Legacy-Einzahlungen wurden als `payment` gespiegelt.
- 12 Legacy-Kaffeeverbrauch-Zeilen wurden als `consumption` gespiegelt.
- Ein zweiter Backfill-Lauf blieb idempotent und erzeugte keine Dubletten.
- `app/ledger.php` stellt zentrale Abfragen fuer Tenant-Summen,
- `app/ledger.php` stellt zentrale Abfragen für Tenant-Summen,
Teilnehmer-Summen, einzelne Teilnehmer und letzte Buchungen bereit.
- `ledger-preview.php` zeigt eine read-only App-Vorschau auf Tenant-Summen,
aktive Teilnehmer und die letzten Ledger-Buchungen.
@@ -109,16 +109,16 @@ ledger_entries.legacy_id = VerbrauchID
Verbrauch wird negativ gespeichert. Damit ergibt `SUM(amount_cents)` direkt den
aktuellen Saldo eines Teilnehmers.
## Idempotenz und Aufraeumen
## Idempotenz und Aufräumen
Das Backfill-Skript nutzt `tenant_id`, `legacy_table` und `legacy_id` als
eindeutige Quelle. Wiederholte Laeufe aktualisieren vorhandene Ledger-Zeilen.
eindeutige Quelle. Wiederholte Läufe aktualisieren vorhandene Ledger-Zeilen.
Fuer den Default-Tenant werden nur solche Legacy-Spiegelungen entfernt, deren
urspruengliche Legacy-Zeile nicht mehr existiert. Fachliche Daten werden dabei
nicht aus den `kl_*`-Tabellen geloescht.
Für den Default-Tenant werden nur solche Legacy-Spiegelungen entfernt, deren
ursprüngliche Legacy-Zeile nicht mehr existiert. Fachliche Daten werden dabei
nicht aus den `kl_*`-Tabellen gelöscht.
## Ausfuehrung
## Ausführung
```bash
php scripts/backfill-default-tenant.php
@@ -133,33 +133,33 @@ Installation aus `.local/` verwendet werden.
## Akzeptanzkriterien
- Migration `0006_saas_ledger_entries.sql` laeuft erfolgreich: erfuellt.
- Jede Legacy-Einzahlung hat genau eine Ledger-Zeile: erfuellt.
- Jeder Legacy-Kaffeeverbrauch hat genau eine Ledger-Zeile: erfuellt.
- Legacy-IDs sind je Tenant eindeutig: erfuellt.
- Einzahlungen sind positiv, Verbrauch ist negativ: erfuellt.
- Verbrauch behaelt Strichanzahl und Preis pro Strich: erfuellt.
- Migration `0006_saas_ledger_entries.sql` läuft erfolgreich: erfüllt.
- Jede Legacy-Einzahlung hat genau eine Ledger-Zeile: erfüllt.
- Jeder Legacy-Kaffeeverbrauch hat genau eine Ledger-Zeile: erfüllt.
- Legacy-IDs sind je Tenant eindeutig: erfüllt.
- Einzahlungen sind positiv, Verbrauch ist negativ: erfüllt.
- Verbrauch behält Strichanzahl und Preis pro Strich: erfüllt.
- Web-Striche aus `Eintragsart = 2` bleiben als `source = legacy_web`
erkennbar: erfuellt.
- Ledger-Summen entsprechen dem Golden Master: erfuellt.
erkennbar: erfüllt.
- Ledger-Summen entsprechen dem Golden Master: erfüllt.
- Zentrale Ledger-Abfragen liefern dieselben Teilnehmer-Summen wie der Golden
Master: erfuellt.
Master: erfüllt.
- Tenant-Summen, aktive Teilnehmer, Einzelteilnehmer und letzte Buchungen sind
ueber `app/ledger.php` abrufbar: erfuellt.
- Read-only Ledger-Preview ist im Browser erreichbar: erfuellt.
über `app/ledger.php` abrufbar: erfüllt.
- Read-only Ledger-Preview ist im Browser erreichbar: erfüllt.
## Aktueller Pruefstatus
## Aktueller Prüfstatus
- M4 Ledger-Migration: gruen mit 73 Assertions.
- M4 Ledger-Service: gruen mit 110 Assertions.
- M3 SaaS-Basis: weiterhin gruen.
- M3 Tenant-Aufloesung: weiterhin gruen.
- M3 Passwort/E-Mail: weiterhin gruen.
- M3 Auth-Flow: weiterhin gruen.
- M3 Settings-Flow: weiterhin gruen.
- M3 Mail-Flow: weiterhin gruen.
- Golden Master: weiterhin gruen mit 104 Assertions.
- HTTP-Smoke: weiterhin gruen mit 23 geprueften Seiten inklusive
- M4 Ledger-Migration: grün mit 73 Assertions.
- M4 Ledger-Service: grün mit 110 Assertions.
- M3 SaaS-Basis: weiterhin grün.
- M3 Tenant-Auflösung: weiterhin grün.
- M3 Passwort/E-Mail: weiterhin grün.
- M3 Auth-Flow: weiterhin grün.
- M3 Settings-Flow: weiterhin grün.
- M3 Mail-Flow: weiterhin grün.
- Golden Master: weiterhin grün mit 104 Assertions.
- HTTP-Smoke: weiterhin grün mit 23 geprüften Seiten inklusive
`ledger-preview.php`.
## Noch offen in M4
@@ -167,4 +167,4 @@ Installation aus `.local/` verwendet werden.
- Tenant-sichere Dashboard-, Strich-, Einzahlungs- und Listenqueries schrittweise
von Legacy-Tabellen auf das Ledger umstellen.
- Storno-/Reversal-Modell in der UI statt harter Deletes.
- Delta-Strategie fuer den finalen Cutover.
- Delta-Strategie für den finalen Cutover.