Display the number of maps on search results page

This commit is contained in:
David Larlet 2023-06-14 09:58:48 -04:00
parent 60ac2dc83a
commit 3edad3976d
No known key found for this signature in database
GPG key ID: 3E2953A359E7E7BD
2 changed files with 15 additions and 6 deletions

View file

@ -8,9 +8,16 @@
<div class="wrapper">
<div class="map_list row">
{% if maps %}
<h2>
{% blocktranslate count counter=count %}
{{ count }} map found:
{% plural %}
{{ count }} maps found:
{% endblocktranslate %}
</h2>
{% include "umap/map_list.html" with prefix='search_map' %}
{% else %}
{% trans "Not map found." %}
<h2>{% trans "No map found." %}</h2>
{% endif %}
</div>
</div>

View file

@ -212,6 +212,7 @@ class Search(TemplateView, PaginatorMixin):
def get_context_data(self, **kwargs):
q = self.request.GET.get("q")
qs_count = 0
results = []
if q:
vector = SearchVector("name", config=settings.UMAP_SEARCH_CONFIGURATION)
@ -220,8 +221,9 @@ class Search(TemplateView, PaginatorMixin):
)
qs = Map.objects.annotate(search=vector).filter(search=query)
qs = qs.filter(share_status=Map.PUBLIC).order_by("-modified_at")
qs_count = qs.count()
results = self.paginate(qs)
kwargs.update({"maps": results, "q": q})
kwargs.update({"maps": results, "count": qs_count, "q": q})
return kwargs
def get_template_names(self):