Ergänzt rep-person.php um eine zweite Filtertabelle für Zahlweisen
neben der Kategorien-Auswahl; die Summen werden entsprechend beider
Filter berechnet. Der Link zum Dashboard gibt die gewählten Zahlweisen
als Vorauswahl weiter, analog zur bestehenden Kategorien-Vorauswahl.
Buchungszeilen bekommen ein neues, boolesches Feld "abgeglichen"
(Standard: false). Ein Klick auf eine Zeile im Dashboard schaltet den
Wert per AJAX sofort um; abgeglichene Zeilen werden grün hinterlegt.
Fügt eine optisch abgesetzte Summenzeile unter der Dashboard-Tabelle
hinzu, die die Beträge der aktuell sichtbaren (per Spaltenfilter
gefilterten) Einträge summiert und live aktualisiert.
Schließt #6
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Extrahiert die wichtigste DB-/netzwerkfreie Geschäftslogik (Monatsnavigation,
Admin-/Aktien-Rollenprüfung, Aktien-GuV-Berechnung, OpenFIGI-/Alpha-Vantage-
Antwortauswertung, Eingabevalidierung, CSV-Export, Migrations-Logik) nach
html/lib/fscash.php und deckt sie mit 31 PHPUnit-Tests ab. update.sh
installiert Composer-Abhängigkeiten bei Bedarf und führt die Tests jetzt vor
jedem Deploy aus - bei Fehlschlag wird nichts kopiert oder migriert.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Jede Summenangabe in rep-month.php und rep-person.php führt jetzt per
Klick zum Dashboard mit exakt den Filtern (Jahr, Monat, Kategorie(n),
Zahler), die in die jeweilige Summe eingeflossen sind. Außerdem Fix
für rep-person.php: ohne ?categories[]-Parameter wurde $selectedCategories
nie initialisiert, was zu einem Fatal Error führte - jetzt werden
standardmäßig alle Kategorien vorausgewählt.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Jede Tabellenspalte im Dashboard bekommt eine eigene Filterzeile (Text- oder
Dropdown-Filter je nach Spalte), die die sichtbaren Einträge clientseitig
per JS einschränkt.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>