Updates, overview extended, club view implemented

This commit is contained in:
Torsten Schulz (local)
2026-06-23 16:17:07 +02:00
parent dd91c07694
commit 90e6c2f9f6
82 changed files with 11226 additions and 201 deletions

View File

@@ -1,6 +1,6 @@
# TODO
Stand: 2026-03-17
Stand: 2026-06-22
## Abgearbeitet
@@ -9,13 +9,67 @@ Stand: 2026-03-17
- [x] Sichtbare UI-Konsistenz an Diary-Mobile-Tabs und Logs-Ansicht nachgezogen.
- [x] Live-SQL fuer neue Felder und manuelle Migrationen dokumentiert.
- [x] Scheduler- und `match_results`-Ablauf dokumentiert.
- [x] Produkttrennung fuer `tt-verein.de` und `mein-tt.de` technisch eingefuehrt.
- [x] Vereinsnavigation und Routing fuer das Club-Produkt produkt- und rechtebasiert aufgebaut.
- [x] Dashboard von Dummy-Daten auf echte Vereinsdaten fuer Aufgaben, Mitglieder, Termine und fehlende Daten umgestellt.
- [x] Aufgabenmodul mit echten Aufgaben, automatischen Vorschlaegen, Ausblenden, Archivieren, Loeschen und Benutzerzuordnung umgesetzt.
- [x] Rollen und Benutzer fuer Vereine eingefuehrt, inklusive Mehrfachrollen und menuewirksamer Rechtepruefung.
- [x] Historie fuer Vereinsbereiche umgesetzt und Aenderungen an Rollen und Benutzerzuordnungen aufgenommen.
- [x] Mitgliederbereich um Bankkonto-/SEPA-relevante Vereinsdaten erweitert.
- [x] Statistiken als echte, einklappbare Vereinsauswertungen umgesetzt.
- [x] Archiv als echte Vereinsansicht umgesetzt.
- [x] Konten und Rechnungen als echte Vereinsmodule aufgebaut.
- [x] Kommunikation als Vereinsmodul mit Vorgaengen, Verteilergruppen, Empfaengerlogik und Versandstatus umgesetzt.
- [x] Echten Mailversand fuer Kommunikation mit retry-faehiger Fehlerklassifikation, Versandprotokoll und sichtbaren Fehlermeldungen eingebaut.
- [x] Rechtebasierte Club-Navigation auf fachlich passende Module und Berechtigungen fuer Aufgaben, Kommunikation, Historie, Archiv, Konten und Rechnungen nachgezogen.
## Weiter spaeter sinnvoll
## Teilweise umgesetzt / weiter ausbauen
- [x] Groeßere Views weiter komponentisieren, vor allem `DiaryView.vue`, `MembersView.vue`, `TeamManagementView.vue`.
- [x] Verbleibende selten genutzte Alt-Styles in Spezialviews und Demo-Komponenten angleichen.
- [x] Diary-Sonderfaelle weiter schaerfen, z.B. eigene Filterchips fuer entschuldigte Teilnehmer.
- [x] Club-Views weiter haerten: Read-only-Verhalten, Reload-Zustaende und Formular-Resets in Aufgaben, Kommunikation, Konten und Rechnungen weiter auf Kantenfaelle pruefen.
- [ ] Kommunikation: SMTP-Konfiguration produktiv pruefen, reale Zustellung testen und optional Antwortadressen pro Verein nachziehen.
- [x] Rechnungen: automatische Nummernvergabe aus Vereineinstellungen fertig verdrahten und weiter absichern.
- [x] Aufgabenautomatisierung weiter ausbauen, damit noch mehr Vereinsprozesse automatisch Folgeschritte erzeugen.
- [x] Dashboard weiter verdichten, damit neue Kommunikations-, Finanz- und Archivdaten direkter sichtbar werden.
- [x] Beitraege/Zahlungen operativ zuerst verdichten statt sofort Regelwerk bauen:
- [x] Mitglieder sauber mit Beitragsgruppe und Zahlungsbezug sichtbar verknuepfen.
- [x] In der Beitraege-Ansicht pro Mitglied offene Forderungen, letzten Status und fehlende Zuordnungen sichtbar machen.
- [x] In der Zahlungen-Ansicht Forderungen, Mahnstufen und offene Aktionen als taegliche Arbeitsliste nutzbar machen.
- [x] Danach einfache manuelle Beitragslogik fuer typische Vereinsfaelle ergaenzen.
- [ ] Erst spaeter ein allgemeines Regel-/Tarifsystem mit Familienregeln, Alterslogik und Gueltigkeitszeitraeumen bauen.
## Naechste Liste
## Naechste Prioritaeten
Die neue priorisierte Restliste steht in [OPTIMIZATION_TODO.md](./OPTIMIZATION_TODO.md).
- [x] Kommunikation: Empfaengerlogik weiter ausbauen, Versandvorlagen, Verteilerfilter und Antworten dokumentieren.
- [x] Finanzen: Ausgangs- und Eingangsrechnungen weiter vervollstaendigen, Kontenbewegungen anbinden.
- [x] Vereinsbenutzer: feinere Rechte, Rollenpflege und weitere Menueeinschraenkungen vervollstaendigen.
- [x] Automatisierte Vereinsprozesse definieren und technisch als stabile Aufgabenquellen hinterlegen.
- [x] Beitraege/Zahlungen: zuerst Mitglied -> Beitragszuordnung -> Forderung -> Zahlung als durchgehenden Vereinsprozess fertigziehen.
- [x] Beitraege: Mitgliederliste mit Beitragsgruppe, offenen Forderungen und fehlenden Zuordnungen verdichten.
- [x] Zahlungen: Forderungen, Statuswechsel und Mahnlogik weiter zu einem echten Vereinsarbeitsbereich ausbauen.
- [ ] Player-Produkt `mein-tt.de` inhaltlich ausbauen, jetzt wo die Produkttrennung steht.
## Weiter spaeter sinnvoll
- [ ] Historie feiner filtern, exportieren und moduluebergreifend verlinken.
- [ ] Kommunikation um Dokumentanhaenge und Serienvorlagen erweitern.
- [ ] Vereinsarchiv um weitere Entitaeten und komfortablere Suche erweitern.
- [ ] Die alte Optimierungs-Restliste bei Bedarf mit [OPTIMIZATION_TODO.md](./OPTIMIZATION_TODO.md) zusammenfuehren.
## Fehlend
- [ ] Club-Produkt: Die folgenden sechs Vereinsmodule sind in der Struktur vorhanden, aber noch nicht als echte Arbeitsbereiche umgesetzt.
- [x] Dokumente: Upload, Ordner-/Ablagestruktur, Belegbezug und schnelle Suche als echter Vereins-Dokumentenbereich.
- [x] Dokumente: Vorlagen, Versionierung und Archivierung so nachziehen, dass Satzung, Protokolle und Nachweise sauber verwaltbar sind.
- [x] Veranstaltungen: Vereinsveranstaltungen mit Fristen, Verantwortlichkeiten und Aufgabenverknuepfung als eigenes Modul umsetzen.
- [x] Veranstaltungen: Terminarten, Statuswechsel und Nacharbeit fuer Planung, Einladung und Durchfuehrung trennen.
- [x] Sponsoren: Sponsorenstamm mit Ansprechpartnern, Laufzeiten und Vertragsbezug als echte Pflegeansicht aufbauen.
- [x] Sponsoren: Sponsoringanfragen, laufende Beziehungen und zugehoerige Rechnungen in einem Arbeitsfluss verbinden.
- [x] Beiträge: Beitragssätze, Familienmodelle und Ermäßigungen als vereinfachte manuelle Regelbasis modellieren.
- [x] Beiträge: Beitragsgruppen, Beitragszuordnung und Zahlungsbezug in Mitglieder- und Finanzsicht konsistent halten.
- [x] Zahlungen: Offene Forderungen, Zahlungseingänge, Mahnstufen und Statuswechsel als tägliche Arbeitsliste weiter schärfen.
- [x] Zahlungen: Kontobewegungen, Teilzahlungen und automatische Zuordnung zu Forderungen stabil mit dem Mitgliederbezug verbinden.
- [x] Berichte: Vorstand, Finanzen, Archiv und Sponsoring mit echten Auswertungen und Exporten aus den vorhandenen Daten versorgen.
- [x] Berichte: Wiederkehrende Reportsets, PDF-Ausgabe und Vorlagen fuer Standardauswertungen vorbereiten.

View File

@@ -0,0 +1,34 @@
# Kommunikation im Verein
Stand: 2026-06-22
## Empfängerlogik
- Einzelvorgänge adressieren genau ein Mitglied.
- Gruppenvorgänge nutzen eine Verteilergruppe plus optionale Filter.
- Rundschreiben arbeiten ohne feste Gruppe und filtern direkt auf dem Vorgang.
## Verfügbare Filter
- `Nur aktive Mitglieder`
- `Nur mit E-Mail-Adresse`
- `Nur mit aktivem SEPA-Mandat`
- `Nur ohne aktives SEPA-Mandat`
Diese Filter werden beim Auflösen der Empfängerliste technisch berücksichtigt und nicht nur im Frontend angezeigt.
## Versandstatus
- `Ausstehend`: noch kein erfolgreicher Versand.
- `Gesendet`: erfolgreich zugestellt.
- `Fehlgeschlagen`: technischer oder fachlicher Fehler.
- `Übersprungen`: bewusst nicht versendet, z. B. ohne E-Mail-Adresse.
Retry ist nur erlaubt, wenn der Fehler als retryfähig klassifiziert wurde, z. B. bei Zeitüberschreitungen oder temporären SMTP-Antworten.
## Vorlagen und Antworten
- Vorlagen enthalten Name, Kategorie, Betreff-Vorlage und Text-Vorlage.
- `Platzhalter / Antworten dokumentieren` dient als technische Dokumentation für Variablen, Antwortvorgaben und Standardformulierungen pro Verein.
- Beim Schreiben einer Nachricht kann eine Vorlage direkt in Betreff und Nachrichtentext übernommen werden.
- Eingehende Rückmeldungen werden als Richtung `Eingehend` im Vorgang protokolliert.

View File

@@ -0,0 +1,31 @@
# Automatisierte Aufgabenquellen
Stand: 2026-06-22
## Stabile Quellen
- `club_requests`
Basis: Kontakt-, Probetraining-, Mitgliedschafts- und Sponsoringanfragen.
- `members`
Basis: Mitgliedsdaten, fehlende Pflichtangaben, Statuswechsel.
- `club_sepa_mandates`
Basis: fehlende, widerrufene oder ablaufrelevante SEPA-Mandate.
- `club_payment_claims`
Basis: offene, teilweise bezahlte oder überfällige Beitragsforderungen.
- `club_invoices`
Basis: eingehende und ausgehende Rechnungen mit Fälligkeiten und Status.
- `club_communication`
Basis: fehlgeschlagene Zustellversuche mit retryfähigen Fehlern.
- `calendar_events`
Basis: Termine, Fristen und Vereinsveranstaltungen.
## Technisches Verhalten
- Jede automatische Aufgabe erhält `automation_source`, `automation_key` und `source_snapshot`.
- `automation_key` dient zur Deduplizierung.
- Ausgeblendete Vorschläge wirken vereinsweit, nicht nur pro Benutzer.
- Aufgabenquellen werden im Aufgabenmodul sichtbar gemacht, damit nachvollziehbar bleibt, woher ein Vorschlag kommt.
## Ziel
Die Automatisierung soll keine Blackbox sein. Jeder Vorschlag muss auf einen stabilen Quelldatensatz zurückführbar und nach Änderungen reproduzierbar sein.