d18c55eef55b6ab1e93ba5eac82f37e89efb6a34
Abstaende: Im Template hat das Label 1em Abstand nach unten, das Eingabefeld aber gar keinen, und die Formular-Grids nutzen keinen vertikalen Gutter (gtr-uniform). Dadurch war der Abstand vom Feld zum naechsten Label 0, waehrend Label zu eigenem Feld 1em betrug - das Label wirkte, als gehoere es zum Feld darueber. Jetzt sitzt das Label eng an seinem eigenen Feld (0,5em) und die Felder haben 1,5em Abstand nach unten. Ausserdem stylt main.css die Typen number, date, datetime-local und file gar nicht; diese Felder erschienen als kleine native Kaestchen zwischen den sonst einheitlichen Feldern (z. B. "Listenfenster in Tagen" und "Zeilenhoehe im Ausdruck"). Sie bekommen jetzt dasselbe Aussehen wie die Textfelder. Die Anpassungen liegen in einer eigenen assets/css/app.css, damit main.css als Template-Datei unveraendert bleibt. Nebenbei: .hint-box.error war nirgends definiert, obwohl es die haeufigste Variante ist - Fehlermeldungen erschienen ungefaerbt wie neutrale Hinweise. In faq.php, hinweise.php, namenanpassen.php und stricheintragen.php standen <br>/<br><br> als Abstandsersatz hinter Labels und Feldern; mit den neuen Abstaenden waere daraus doppelter Leerraum geworden. Entfernt, das Layout kommt jetzt aus dem CSS. Anleitung: Neue Seite anleitung.php mit den wichtigsten Funktionen, gegliedert nach Zielgruppe. Die Abschnitte fuer Kassenwart bzw. Administration werden nur eingeblendet, wenn die Rolle sie auch nutzen kann - sonst stuenden dort Hinweise auf Menuepunkte, die es fuer den Nutzer nicht gibt. Verlinkt im Menue unter "Kaffeeliste" und im Smoke-Test abgedeckt. Geprueft: alle 12 Formularseiten rendern fehlerfrei, http-smoke 34/0, role-matrix 55/0, tenant-isolation 12/0, settings-flow 15/0. Co-Authored-By: Claude Opus 4.8 <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%