Files
kaffeekasse-saas/docs/m5-app-kern.md
T

2.5 KiB

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:

kaffeeliste.php
teilnehmerauswertung.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()
  • Filter legacy_mitarbeiter_ids in ledger_fetch_participant_summaries()

Noch offen

  • 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 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.