CRM-UI: Städte-Namensfilter (searchterm) für gezielte Einzelstadt-Suche fehlt #9

Closed
opened 2026-07-25 21:25:10 +00:00 by forgejo-admin · 1 comment

Kontext

Beim Testen aufgefallen: Ein Suchlauf über die CRM-Oberfläche ("Leads suchen"-Dialog) mit Region BY ohne Eingrenzung durchsucht ganz Bayern (alle Landkreise + kreisfreien Städte) — das kann je nach Suchbegriff und Website-Scan-Aufwand sehr lange dauern. Für einen schnellen, gezielten Test einer einzelnen Stadt gibt es aktuell keine gute Option in der UI.

Ist-Zustand

  • CLI (leadscraper-search/leadscraper-run) unterstützt bereits --searchterm — ein Wildcard-Filter für Städtenamen (z. B. "Nürnberg" oder "K*"), siehe leadscraper/commands.py und leadscraper/lead_scraper/google_places.py::plan_city_searches().
  • Der CRM-UI-Dialog (lead_scraper_settings.js) exponiert dagegen nur limit_cities (eine reine Zahl — "erste N Städte der Region"), kein Namensfilter. Wer eine bestimmte Stadt testen will, muss auf die CLI ausweichen (docker exec ... bench --site crm.localdomain leadscraper-run --query "..." --regions BY --searchterm "Nürnberg").

Umsetzung (Vorschlag)

  • Neues Textfeld searchterm im Dialog (lead_scraper_settings.js), analog zu limit_cities.
  • leadscraper/api.py::enqueue_search() um den searchterm-Parameter erweitern, durchreichen an enqueue_run().

Nutzen

Schnelles, gezieltes Testen einzelner Städte direkt aus der CRM-Oberfläche, ohne Docker-/CLI-Zugriff zu benötigen — insbesondere hilfreich, seit der Website-Scan (Impressum-Fix) mehr Zeit pro Lead braucht und ein voller Regionslauf entsprechend länger dauert.

## Kontext Beim Testen aufgefallen: Ein Suchlauf über die CRM-Oberfläche ("Leads suchen"-Dialog) mit Region `BY` ohne Eingrenzung durchsucht **ganz Bayern** (alle Landkreise + kreisfreien Städte) — das kann je nach Suchbegriff und Website-Scan-Aufwand sehr lange dauern. Für einen schnellen, gezielten Test einer einzelnen Stadt gibt es aktuell keine gute Option in der UI. ## Ist-Zustand - CLI (`leadscraper-search`/`leadscraper-run`) unterstützt bereits `--searchterm` — ein Wildcard-Filter für Städtenamen (z. B. `"Nürnberg"` oder `"K*"`), siehe `leadscraper/commands.py` und `leadscraper/lead_scraper/google_places.py::plan_city_searches()`. - Der CRM-UI-Dialog (`lead_scraper_settings.js`) exponiert dagegen nur `limit_cities` (eine reine Zahl — "erste N Städte der Region"), kein Namensfilter. Wer eine bestimmte Stadt testen will, muss auf die CLI ausweichen (`docker exec ... bench --site crm.localdomain leadscraper-run --query "..." --regions BY --searchterm "Nürnberg"`). ## Umsetzung (Vorschlag) - Neues Textfeld `searchterm` im Dialog (`lead_scraper_settings.js`), analog zu `limit_cities`. - `leadscraper/api.py::enqueue_search()` um den `searchterm`-Parameter erweitern, durchreichen an `enqueue_run()`. ## Nutzen Schnelles, gezieltes Testen einzelner Städte direkt aus der CRM-Oberfläche, ohne Docker-/CLI-Zugriff zu benötigen — insbesondere hilfreich, seit der Website-Scan (Impressum-Fix) mehr Zeit pro Lead braucht und ein voller Regionslauf entsprechend länger dauert.
Author
Owner

Gelöst in #10 — allerdings mit einer weitergehenden Lösung als ursprünglich beschrieben: statt eines einzelnen searchterm-Textfelds im UI-Dialog gibt es jetzt drei kaskadierende Auswahlfelder (Land → Region → Landkreis/Stadt), live aus den bestehenden regions/*.json-Dateien befüllt. Anlass war ein konkreter Fehlversuch beim Testen (Stadt-Filter als Kfz-Kennzeichen "KC" statt echtem Ortsnamen "Kronach" eingegeben) — die Auswahlfelder schließen diese Fehlerklasse strukturell aus. Details siehe PR #10.

Gelöst in #10 — allerdings mit einer weitergehenden Lösung als ursprünglich beschrieben: statt eines einzelnen `searchterm`-Textfelds im UI-Dialog gibt es jetzt drei kaskadierende Auswahlfelder (Land → Region → Landkreis/Stadt), live aus den bestehenden `regions/*.json`-Dateien befüllt. Anlass war ein konkreter Fehlversuch beim Testen (Stadt-Filter als Kfz-Kennzeichen "KC" statt echtem Ortsnamen "Kronach" eingegeben) — die Auswahlfelder schließen diese Fehlerklasse strukturell aus. Details siehe PR #10.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Frappe-Projekte/LeadScraper-Google#9
No description provided.