From a589b3ef96c9adf4e408713201ffe7d269e4f78f Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Tue, 18 Apr 2023 17:21:38 +0200 Subject: Document -> Town/Area: models, admin, forms --- ishtar_common/views.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'ishtar_common/views.py') diff --git a/ishtar_common/views.py b/ishtar_common/views.py index ba205abf3..b469df12d 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -823,6 +823,23 @@ def autocomplete_person( return HttpResponse(data, content_type="text/plain") +def autocomplete_area(request): + if not request.GET.get("term"): + return HttpResponse("[]", content_type="text/plain") + q = request.GET.get("term") + q = unicodedata.normalize("NFKD", q).encode("ascii", "ignore").decode() + query = Q() + for q in q.split(" "): + extra = Q(label__icontains=q) + query = query & extra + limit = 20 + areas = models.Area.objects.filter(query).distinct()[:limit] + data = json.dumps( + [{"id": area.pk, "value": str(area)} for area in areas] + ) + return HttpResponse(data, content_type="text/plain") + + def autocomplete_department(request): if not request.GET.get("term"): return HttpResponse("[]", content_type="text/plain") -- cgit v1.2.3