summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAurélien Bompard <aurelien@bompard.org>2013-08-06 11:17:12 +0200
committerAurélien Bompard <aurelien@bompard.org>2013-08-06 11:17:12 +0200
commit7bf15f40e5f75007f7887661408945079026b202 (patch)
treeb44e40c410196c3dbf7f993c9ef623e3f1f42c0a
parent3c1e355bdf068aaaaf7594897e1b78caf732d4d2 (diff)
downloadhyperkitty-7bf15f40e5f75007f7887661408945079026b202.tar.gz
hyperkitty-7bf15f40e5f75007f7887661408945079026b202.tar.xz
hyperkitty-7bf15f40e5f75007f7887661408945079026b202.zip
Handle an empty search query
-rw-r--r--hyperkitty/templates/search_results.html15
-rw-r--r--hyperkitty/views/search.py24
2 files changed, 27 insertions, 12 deletions
diff --git a/hyperkitty/templates/search_results.html b/hyperkitty/templates/search_results.html
index 45d8e29..16a0019 100644
--- a/hyperkitty/templates/search_results.html
+++ b/hyperkitty/templates/search_results.html
@@ -61,11 +61,16 @@ Search results for "{{ query }}"{% if mlist %} - {{ mlist.display_name|default:m
</div>
- {% for message in messages %}
- {% include "messages/summary_message.html" %}
- {% empty %}
- <p>Sorry no email could be found for this query.</p>
- {% endfor %}
+ {% if query %}
+ {% for message in messages %}
+ {% include "messages/summary_message.html" %}
+ {% empty %}
+ <p>Sorry no email could be found for this query.</p>
+ {% endfor %}
+ {% else %}
+ <p>Sorry but your query looks empty.</p>
+ <p style="font-style:italic;font-size:small;color:#ccc">these are not the messages you are looking for</p>
+ {% endif %}
{% include "paginator.html" with pager=messages notbydate=True %}
diff --git a/hyperkitty/views/search.py b/hyperkitty/views/search.py
index da4c493..121c0ee 100644
--- a/hyperkitty/views/search.py
+++ b/hyperkitty/views/search.py
@@ -76,13 +76,29 @@ def search(request, page=1):
store = get_store(request)
query = request.GET.get("query")
mlist_fqdn = request.GET.get("list")
+ sort_mode = request.GET.get('sort')
+
+ if mlist_fqdn is None:
+ mlist = None
+ else:
+ mlist = store.get_list(mlist_fqdn)
+ if mlist is None:
+ raise Http404("No archived mailing-list by that name.")
+
+ if not query:
+ return render(request, "search_results.html", {
+ 'mlist' : mlist,
+ "query": query or "",
+ 'messages': [],
+ 'total': 0,
+ 'sort_mode': sort_mode,
+ })
try:
page_num = int(request.GET.get('page', "1"))
except ValueError:
page_num = 1
- sort_mode = request.GET.get('sort')
sortedby = None
reverse = False
if sort_mode == "date-asc":
@@ -97,12 +113,6 @@ def search(request, page=1):
messages = query_result["results"]
for message in messages:
set_message_votes(message, request.user)
- if mlist_fqdn is None:
- mlist = None
- else:
- mlist = store.get_list(mlist_fqdn)
- if mlist is None:
- raise Http404("No archived mailing-list by that name.")
paginator = SearchPaginator(messages, 10, total)
messages = paginate(messages, page_num, paginator=paginator)