On ajoute les organisateurs dans les résultats de recherche

This commit is contained in:
Jean-Marie Favreau 2024-11-23 00:06:48 +01:00
parent 769c607550
commit 0190d91268
2 changed files with 16 additions and 0 deletions

View File

@ -74,6 +74,19 @@
</div> </div>
{% endif %} {% endif %}
{% if organisations %}
<div class="message info">
{% if organisations.count > 1 %}
Retrouvez les événements correspondant aux organisateurs
{% else %}
Retrouvez les événements correspondant à l'organisateur
{% endif %}
{% for o in organisations %}
<a href="{{ o.get_absolute_url }}">{{ o }}</a>
{% endfor %}
</div>
{% endif %}
<p>{{ paginator_filter.paginator.count }} événement{{paginator_filter.object_list.count | pluralize }} correspond{{paginator_filter.object_list.count | pluralize:"ent" }} à la recherche.</p> <p>{{ paginator_filter.paginator.count }} événement{{paginator_filter.object_list.count | pluralize }} correspond{{paginator_filter.object_list.count | pluralize:"ent" }} à la recherche.</p>
<div> <div>
{% for obj in paginator_filter %} {% for obj in paginator_filter %}

View File

@ -917,6 +917,7 @@ def event_search(request, full=False):
categories = None categories = None
tags = None tags = None
places = None places = None
organisations = None
qs = get_event_qs(request).order_by("-start_day") qs = get_event_qs(request).order_by("-start_day")
if not request.user.is_authenticated: if not request.user.is_authenticated:
@ -944,6 +945,7 @@ def event_search(request, full=False):
tags.sort(key=lambda x: x[1]) tags.sort(key=lambda x: x[1])
tags = [t[0] for t in tags] tags = [t[0] for t in tags]
places = Place.objects.filter(Q(name__icontains=request.GET['q'])|Q(description__icontains=request.GET['q'])|Q(city__icontains=request.GET['q'])) places = Place.objects.filter(Q(name__icontains=request.GET['q'])|Q(description__icontains=request.GET['q'])|Q(city__icontains=request.GET['q']))
organisations = Organisation.objects.filter(Q(name__icontains=request.GET['q'])|Q(description__icontains=request.GET['q']))
paginator = PaginatorFilter(filter, 10, request) paginator = PaginatorFilter(filter, 10, request)
page = request.GET.get("page") page = request.GET.get("page")
@ -964,6 +966,7 @@ def event_search(request, full=False):
"categories": categories, "categories": categories,
"tags": tags, "tags": tags,
"places": places, "places": places,
"organisations": organisations,
"has_results": len(request.GET) != 0 "has_results": len(request.GET) != 0
or (len(request.GET) > 1 and "page" in request.GET), or (len(request.GET) > 1 and "page" in request.GET),
"paginator_filter": response, "paginator_filter": response,