diff options
author | Aurélien Bompard <aurelien@bompard.org> | 2013-06-11 15:40:30 +0200 |
---|---|---|
committer | Aurélien Bompard <aurelien@bompard.org> | 2013-06-11 15:40:30 +0200 |
commit | e5c785c29f2af0f9978814f7a34132388c44045d (patch) | |
tree | 91ad8cf32fcdc83eaf508e518e354bc50f6143ce /hyperkitty/views/search.py | |
parent | e9b09b0669e2d782331e287eba6450a383e267cb (diff) | |
download | hyperkitty-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.py | 17 |
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) |