Kaffeeliste-Ausdruck: adaptives Layout nach Mitgliederzahl
Der PDF-Export war bisher immer zweiseitig (Vieltrinker-/Wenigtrinker) mit fester Mindestzeilenzahl, unabhängig von der tatsächlichen Mitgliederzahl. Umgestellt auf: - Bis 49 aktive Mitglieder: eine Seite ohne Trennung. - Ab 50 Mitgliedern: weiterhin zwei Seiten (Vorder-/Rückseite). - Zeilenhöhe richtet sich nach der Mitgliederzahl (16-40px), statt fest 16px für alle. - Neue Mandanten-Einstellungen: freie Zeilen für neue Mitglieder an/aus, Trennmodus bei zwei Seiten (Trinkverhalten oder alphabetisch). Migration 0015 ergänzt die dafür nötigen tenant_settings-Spalten. Gegen die Dev-DB verifiziert: 8 Mitglieder -> einseitiges PDF, 53 Mitglieder (temporäre Testdaten) -> zweiseitiges PDF, Einstellungen inkl. Validierung geprüft.
This commit is contained in:
@@ -22,35 +22,21 @@ Noch nicht entschieden/umgesetzt.
|
||||
|
||||
## Kaffeeliste-Ausdruck (PDF-Export) als zentrale Funktion
|
||||
|
||||
Der PDF-Ausdruck (`exportKaffeeliste.php`, siehe
|
||||
`docs/m6-import-export-mail.md` für den aktuellen Umsetzungsstand) soll
|
||||
zu einer zentralen, prominent beworbenen Funktion werden – aktuell fixe
|
||||
zweiseitige Vieltrinker-/Wenigtrinker-Ausgabe mit fester Mindestzeilenzahl
|
||||
(63/64), ohne Rücksicht auf die tatsächliche Mitgliederzahl.
|
||||
**Erledigt (2026-07-19)**, siehe `docs/m6-import-export-mail.md` Abschnitt
|
||||
„Nachtrag: Adaptives Layout nach Mitgliederzahl" für Details:
|
||||
|
||||
Neue Anforderungen:
|
||||
- ✅ Adaptives Layout nach Mitgliederanzahl (Zeilenhöhe 16–40px je nach
|
||||
Mitgliederzahl).
|
||||
- ✅ Vorder-/Rückseite bzw. mehrere Seiten erst ab 50 Mitgliedern
|
||||
(`EXPORT_MULTI_PAGE_THRESHOLD`), darunter eine einseitige Liste.
|
||||
- ✅ Admin-Einstellung „Freie Zeilen für neue Mitglieder"
|
||||
(`tenant_settings.pdf_show_empty_rows`, Formular in
|
||||
`mandant-einstellungen.php`).
|
||||
- ✅ Trennmodus bei mehreren Seiten wählbar: Trinkverhalten oder
|
||||
alphabetisch (`tenant_settings.pdf_split_mode`).
|
||||
|
||||
- **Adaptives Layout nach Mitgliederanzahl.** Bis 50 Mitglieder passen
|
||||
auf eine Seite; die Zeilenhöhe/-größe soll sich an der Mitgliederzahl
|
||||
orientieren (weniger Mitglieder → größere, besser lesbare Zeilen statt
|
||||
fester Zeilenhöhe wie bisher).
|
||||
- **Vorder-/Rückseite bzw. mehrere Seiten erst ab 50 Mitgliedern.**
|
||||
Unterhalb dieser Schwelle reicht eine einseitige Liste; die bestehende
|
||||
Vieltrinker-/Wenigtrinker-Aufteilung auf zwei Seiten wird zur Option ab
|
||||
50 Mitgliedern, nicht mehr Standard für alle Mandanten.
|
||||
- **Admin-Einstellung: freie Zeilen für neue Mitglieder.** Der Admin soll
|
||||
konfigurieren können, ob die Liste zusätzliche leere Zeilen für neue
|
||||
Mitglieder enthält (aktuelles Verhalten: Auffüllen bis `minRows`) oder
|
||||
nur die tatsächlich vorhandenen Mitglieder zeigt.
|
||||
- **Trennmodus bei mehreren Seiten wählbar.** Zur Auswahl: Trennung nach
|
||||
Trinkverhalten (wie bisher: vorne Vieltrinker, hinten Wenigtrinker) oder
|
||||
einfach alphabetisch über alle Seiten.
|
||||
|
||||
Technisch vermutlich als neue Spalten in `tenant_settings`
|
||||
(vgl. `database/migrations/0002_saas_identity_tenants.sql`) abzubilden,
|
||||
z. B. `pdf_show_empty_rows`, `pdf_multi_page_threshold`,
|
||||
`pdf_split_mode` (`drinking_behavior` | `alphabetical`) – noch nicht
|
||||
entschieden, nur als naheliegender Ansatzpunkt notiert.
|
||||
Die Kaffeeliste als zentrale, prominent beworbene Funktion auf der
|
||||
Landingpage darzustellen (siehe unten) ist noch offen.
|
||||
|
||||
### RFID-Kartenerfassung (zukünftig, nicht öffentlich bewerben)
|
||||
|
||||
|
||||
@@ -99,6 +99,32 @@ Live getestet: gültiges zweiseitiges PDF (58 KB) mit korrektem
|
||||
stichprobenartig verifiziert (unkomprimierte Testausgabe), Vieltrinker-/
|
||||
Wenigtrinker-Aufteilung stimmt mit den Ledger-Daten überein.
|
||||
|
||||
### Nachtrag: Adaptives Layout nach Mitgliederzahl (2026-07-19)
|
||||
|
||||
Der Export war bis dahin immer zweiseitig mit fester Mindestzeilenzahl
|
||||
(63/64 Zeilen a 16px), unabhängig von der tatsächlichen Mitgliederzahl.
|
||||
Umgestellt auf:
|
||||
|
||||
- Bis 49 aktive Mitglieder: eine Seite, keine Vieltrinker-/Wenigtrinker-
|
||||
Trennung. Ab 50 (`EXPORT_MULTI_PAGE_THRESHOLD` in
|
||||
`exportKaffeeliste.php`): zwei Seiten wie bisher.
|
||||
- Zeilenhöhe wird aus einem festen Platzbudget pro Seite errechnet
|
||||
(`export_row_height_px()`), begrenzt auf 16–40px – weniger Mitglieder
|
||||
ergeben größere statt winziger Zeilen.
|
||||
- Neue Mandanten-Einstellungen (`tenant_settings.pdf_show_empty_rows`,
|
||||
`tenant_settings.pdf_split_mode`, Migration
|
||||
`0015_saas_pdf_export_settings.sql`, Formular in
|
||||
`mandant-einstellungen.php`): Admin legt fest, ob freie Zeilen für neue
|
||||
Mitglieder aufgefüllt werden, und ob die Zweiseiten-Trennung nach
|
||||
Trinkverhalten (wie bisher) oder alphabetisch erfolgt.
|
||||
- Verifiziert gegen die Dev-DB: 8 aktive Mitglieder ergeben ein
|
||||
einseitiges PDF (`/Count 1`), 53 aktive Mitglieder ein zweiseitiges
|
||||
(`/Count 2`); `saas_update_tenant_settings()` speichert und validiert
|
||||
die neuen Felder korrekt (ungültiger `pdf_split_mode` wird abgelehnt).
|
||||
- RFID-Kartenerfassung als künftige Erfassungsmethode ist weiterhin nur
|
||||
im Backlog vermerkt (`docs/backlog-druck-und-landingpage.md`), nicht
|
||||
umgesetzt und nicht beworben.
|
||||
|
||||
## Mailversand
|
||||
|
||||
Umgesetzte Dateien:
|
||||
|
||||
Reference in New Issue
Block a user