summaryrefslogtreecommitdiffstats
path: root/hyperkitty/views/search.py
diff options
context:
space:
mode:
authorAurélien Bompard <aurelien@bompard.org>2013-06-11 15:40:30 +0200
committerAurélien Bompard <aurelien@bompard.org>2013-06-11 15:40:30 +0200
commite5c785c29f2af0f9978814f7a34132388c44045d (patch)
tree91ad8cf32fcdc83eaf508e518e354bc50f6143ce /hyperkitty/views/search.py
parente9b09b0669e2d782331e287eba6450a383e267cb (diff)
downloadhyperkitty-e5c785c29f2af0f9978814f7a34132388c44045d.tar.gz
hyperkitty-e5c785c29f2af0f9978814f7a34132388c44045d.tar.xz
hyperkitty-e5c785c29f2af0f9978814f7a34132388c44045d.zip
Add a select box to change the search results ordering
Diffstat (limited to 'hyperkitty/views/search.py')
-rw-r--r--hyperkitty/views/search.py17
1 files changed, 15 insertions, 2 deletions
diff --git a/hyperkitty/views/search.py b/hyperkitty/views/search.py
index 9ea224a..f143876 100644
--- a/hyperkitty/views/search.py
+++ b/hyperkitty/views/search.py
@@ -70,15 +70,27 @@ def search_tag(request, mlist_fqdn, tag):
def search(request, page=1):
""" Returns messages corresponding to a query """
+ results_per_page = 10
store = get_store(request)
query = request.GET.get("query")
mlist_fqdn = request.GET.get("list")
+
try:
page_num = int(request.GET.get('page', "1"))
except ValueError:
page_num = 1
- results_per_page = 10
- query_result = store.search(query, mlist_fqdn, page_num, results_per_page)
+
+ sort_mode = request.GET.get('sort')
+ sortedby = None
+ reverse = False
+ if sort_mode == "date-asc":
+ sortedby = "date"
+ elif sort_mode == "date-desc":
+ sortedby = "date"
+ reverse = True
+
+ query_result = store.search(query, mlist_fqdn, page_num, results_per_page,
+ sortedby=sortedby, reverse=reverse)
total = query_result["total"]
messages = query_result["results"]
for message in messages:
@@ -98,6 +110,7 @@ def search(request, page=1):
"query": query,
'messages': messages,
'total': total,
+ 'sort_mode': sort_mode,
}
return render(request, "search_results.html", context)