From a3e4dab633e396691cf28bb9e25b2cb93a1e4a01 Mon Sep 17 00:00:00 2001 From: Dotty Dotter Date: Wed, 1 Apr 2026 21:17:41 +0200 Subject: [PATCH] fix: Explorer-Suche durchsucht jetzt auch Aktenzeichen + Betreff Vorher nur k.thema, jetzt auch v.aktenzeichen + v.betreff der Ursprungsvorlage. COUNT-Query um JOIN erweitert. --- backend/src/tracker/api/routes/ketten.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/backend/src/tracker/api/routes/ketten.py b/backend/src/tracker/api/routes/ketten.py index 0c653ee..3393c87 100644 --- a/backend/src/tracker/api/routes/ketten.py +++ b/backend/src/tracker/api/routes/ketten.py @@ -60,8 +60,11 @@ def list_ketten( params.append(partei) if suche: - where_clauses.append("k.thema LIKE ?") - params.append(f"%{suche}%") + where_clauses.append( + "(k.thema LIKE ? OR v.aktenzeichen LIKE ? OR v.betreff LIKE ?)" + ) + like = f"%{suche}%" + params.extend([like, like, like]) # Global filter: Ratsperiode (filter on letzte_aktivitaet) per_clause, per_params = periode_date_filter(periode, "k.letzte_aktivitaet") @@ -82,7 +85,7 @@ def list_ketten( where_sql = ("WHERE " + " AND ".join(where_clauses)) if where_clauses else "" total = conn.execute( - f"SELECT COUNT(*) as cnt FROM ketten k {where_sql}", params + f"SELECT COUNT(*) as cnt FROM ketten k LEFT JOIN vorlagen v ON k.ursprung_id = v.id {where_sql}", params ).fetchone()["cnt"] offset = (page - 1) * page_size