diff --git a/src/Controllers/BookingController.php b/src/Controllers/BookingController.php index 17da1d9..a310ee1 100644 --- a/src/Controllers/BookingController.php +++ b/src/Controllers/BookingController.php @@ -214,19 +214,29 @@ class BookingController $bookings = \Steuerkram\Models\Booking::forBeleg($belegId); $accounts = \Steuerkram\Models\Account::all(['aktiv' => 1]); $integrity = \Steuerkram\Models\Beleg::verifyIntegrity($belegId); - $assets = \Steuerkram\Models\Asset::all(); + $assets = \Steuerkram\Models\Asset::all(); + $linked = BankTransaction::findByBelegId($belegId); + + // Bank-Kontext aus POST-Daten wiederherstellen (damit alloc_betrag nach Validierungsfehler erhalten bleibt) + $bankTx = null; + if (!empty($formData['bank_tx_id'])) { + $bankTx = BankTransaction::find((int)$formData['bank_tx_id']); + } $view = new View(); $view->render('layout/base.php', [ 'pageTitle' => 'Beleg ' . ($beleg['beleg_nr'] ?? ''), 'content' => $this->renderView('belege/detail', [ - 'beleg' => $beleg, - 'bookings' => $bookings, - 'integrity' => $integrity, - 'accounts' => $accounts, - 'assets' => $assets, - 'formErrors' => $errors, - 'formData' => $formData, + 'beleg' => $beleg, + 'bookings' => $bookings, + 'integrity' => $integrity, + 'accounts' => $accounts, + 'assets' => $assets, + 'formErrors' => $errors, + 'formData' => $formData, + 'bankTx' => $bankTx, + 'bankTxBrutto' => $bankTx ? (float)($formData['alloc_betrag'] ?: abs((float)$bankTx['wert'])) : 0.0, + 'linkedBankTx' => $linked, ]), ]); } diff --git a/src/Views/belege/detail.php b/src/Views/belege/detail.php index fd8d9c5..68b7d87 100644 --- a/src/Views/belege/detail.php +++ b/src/Views/belege/detail.php @@ -387,9 +387,14 @@ $suppliers = $suppliers ?? [];
- - - + + 0): ?> + +