diff --git a/Changes.md b/Changes.md index d065017..cf4bde8 100644 --- a/Changes.md +++ b/Changes.md @@ -2,6 +2,13 @@ --- +## 2026-07-27 – Feature: Lieferanten-Typeahead in der Belegliste (Issue #138) + +- Beim Klick in die Spalte „Lieferant" der Belegliste (Inline-Bearbeitung) gab es bisher nur ein freies Textfeld – Lieferanten konnten dadurch versehentlich mit unterschiedlicher Schreibweise mehrfach angelegt werden. +- **`src/Controllers/BelegController.php`:** `index()` übergibt jetzt zusätzlich `Supplier::all()` an die View `belege/list`. +- **`src/Views/belege/list.php`:** Neue `` mit allen vorhandenen Lieferanten; das Inline-Eingabefeld (`blInlineSupplier()`) verweist per `list`-Attribut darauf – analog zur bereits bestehenden Typeahead-Auswahl in der Buchungsmaske (`belege/detail.php`). +- **`tests/60_BelegListeLieferantTypeaheadTest.php`:** Neuer Test prüft, dass Datalist, Befüllung und Verknüpfung mit dem Inline-Eingabefeld vorhanden sind. + ## 2026-07-27 – Fix: Auto-Reload-Button der Ereignisanzeige durch iOS-artigen Toggle-Switch ersetzt (Issue #139) - Rückmeldung zu #139: Der Text-Button „Auto-Reload: An/Aus" war nicht intuitiv genug. diff --git a/docs/funktionen.md b/docs/funktionen.md index 5bc5025..98e114e 100644 --- a/docs/funktionen.md +++ b/docs/funktionen.md @@ -35,7 +35,7 @@ EÜR-Buchungsmodell (Einnahme/Ausgabe) mit Kategorie- und Zahlungskonto. ## Lieferantenverwaltung -CRUD für Lieferantenstammdaten. Lieferanten können Belegen zugeordnet werden; beim Buchen eines Belegs wird ein unbekannter Lieferant automatisch angelegt (findOrCreate). Der Lieferantenname ist direkt im Beleg inline editierbar. +CRUD für Lieferantenstammdaten. Lieferanten können Belegen zugeordnet werden; beim Buchen eines Belegs wird ein unbekannter Lieferant automatisch angelegt (findOrCreate). Der Lieferantenname ist direkt im Beleg inline editierbar. Sowohl in der Belegmetadaten-Bearbeitung (Buchungsmaske) als auch in der Belegliste bietet die Lieferanteneingabe eine Typeahead-Auswahl (HTML5-Datalist) der bereits vorhandenen Lieferanten, um Dubletten durch abweichende Schreibweisen zu vermeiden. --- diff --git a/src/Controllers/BelegController.php b/src/Controllers/BelegController.php index 23b8ad8..a97d165 100644 --- a/src/Controllers/BelegController.php +++ b/src/Controllers/BelegController.php @@ -40,12 +40,13 @@ class BelegController extends BaseController $view->render('layout/base.php', [ 'pageTitle' => 'Belege', 'content' => $this->renderView('belege/list', [ - 'rows' => $result['rows'], - 'total' => $result['total'], - 'totalAll' => $totalAll, - 'pages' => $result['pages'], - 'page' => $page, - 'filter' => $filter, + 'rows' => $result['rows'], + 'total' => $result['total'], + 'totalAll' => $totalAll, + 'pages' => $result['pages'], + 'page' => $page, + 'filter' => $filter, + 'suppliers' => Supplier::all(), ]), 'topbarActions' => 'CSV Export ' . '' diff --git a/src/Views/belege/list.php b/src/Views/belege/list.php index b7f1600..afe52c5 100644 --- a/src/Views/belege/list.php +++ b/src/Views/belege/list.php @@ -1,4 +1,4 @@ - View::h($v); ?> + View::h($v); $suppliers = $suppliers ?? []; ?>
+ +