summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--hyperkitty/templates/error-nosearch.html31
-rw-r--r--hyperkitty/views/search.py3
-rw-r--r--hyperkitty/views/thread.py7
3 files changed, 39 insertions, 2 deletions
diff --git a/hyperkitty/templates/error-nosearch.html b/hyperkitty/templates/error-nosearch.html
new file mode 100644
index 0000000..e27e153
--- /dev/null
+++ b/hyperkitty/templates/error-nosearch.html
@@ -0,0 +1,31 @@
+{% extends "base.html" %}
+{% load url from future %}
+{% load gravatar %}
+{% load hk_generic %}
+{% load storm %}
+
+
+{% block title %}
+Error: no search engine available
+{% if mlist %}
+ - {{ mlist.display_name|default:mlist.name|escapeemail }}
+{% endif %}
+ - {{ app_name|title }}
+{% endblock %}
+
+{% block content %}
+
+<div class="row-fluid">
+
+ <div class="span2">
+ </div>
+
+ <div class="span7">
+ <p class="text-error">
+ Sorry, the search engine is not available (it has been disabled for this site).
+ </p>
+ </div>
+
+</div>
+
+{% endblock %}
diff --git a/hyperkitty/views/search.py b/hyperkitty/views/search.py
index 3eb179f..55fc95a 100644
--- a/hyperkitty/views/search.py
+++ b/hyperkitty/views/search.py
@@ -91,6 +91,9 @@ def search(request, page=1):
"mlist": mlist,
}, status=403)
+ if not store.search_index:
+ return render(request, "error-nosearch.html", {"mlist": mlist})
+
if not query:
return render(request, "search_results.html", {
'mlist' : mlist,
diff --git a/hyperkitty/views/thread.py b/hyperkitty/views/thread.py
index 6f70b86..f0d2fb6 100644
--- a/hyperkitty/views/thread.py
+++ b/hyperkitty/views/thread.py
@@ -405,8 +405,11 @@ def reattach_suggest(request, mlist_fqdn, threadid):
if not search_query:
search_query = default_search_query
search_query = search_query.strip()
- search_result = store.search(search_query, mlist_fqdn, 1, 50)
- messages = search_result["results"]
+ if store.search_index:
+ search_result = store.search(search_query, mlist_fqdn, 1, 50)
+ messages = search_result["results"]
+ else:
+ messages = []
suggested_threads = []
for msg in messages:
if msg.thread not in suggested_threads and msg.thread_id != threadid: