From d26bbfc37b5325bf844cc591c0a0de5d42e9e2f5 Mon Sep 17 00:00:00 2001 From: fds2610-bot Date: Fri, 15 May 2026 16:51:38 +0200 Subject: [PATCH] =?UTF-8?q?Fix:=20Bank-Import-Duplikate=20durch=20Transakt?= =?UTF-8?q?ion,=20UNIQUE-Constraint=20und=20Dateiname-Pr=C3=BCfung=20verhi?= =?UTF-8?q?ndern?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Changes.md | 15 ++++++++++++++ migrations/051_bank_transactions_unique.sql | 22 +++++++++++++++++++++ src/Controllers/BankController.php | 18 ++++++++++++++--- src/Models/BankTransaction.php | 9 +++++++++ src/version.txt | 2 +- 5 files changed, 62 insertions(+), 4 deletions(-) create mode 100644 migrations/051_bank_transactions_unique.sql diff --git a/Changes.md b/Changes.md index 1f8259d..876561a 100644 --- a/Changes.md +++ b/Changes.md @@ -2,6 +2,21 @@ --- +## 2026-05-15 – Fix: Bank-Import-Duplikate verhindern + +- Migration 051: UNIQUE-Constraint `(buchungstag, wertstellung, wert, buchungstext(200))` auf `bank_transactions`; bestehende Duplikate wurden dabei bereinigt +- `BankController::upload()`: Import läuft jetzt in einer DB-Transaktion – bei Fehler wird alles zurückgerollt statt einen unvollständigen Batch zu hinterlassen +- `BankController::upload()`: Dateiname-Prüfung vor dem Import – erneuter Upload derselben Datei wird mit Fehlermeldung abgelehnt +- `BankTransaction::filenameExists()`: neue Hilfsmethode zur Duplikat-Prüfung anhand Dateiname + +--- + +## 2026-05-15 – Fix: Netto-Neuberechnung bei Kategorie-Wechsel in Bank-Buchungsmaske + +- IIFE-Wrapper für `updateAutoUst` in einen `DOMContentLoaded`-Listener verschoben, damit er erst nach der Funktionsdefinition (späteres `