diff --git a/src/super_archives/templates/message-list.html b/src/super_archives/templates/message-list.html
index 0c7a16c..0982942 100644
--- a/src/super_archives/templates/message-list.html
+++ b/src/super_archives/templates/message-list.html
@@ -27,9 +27,12 @@
{% trans "Lists" %}
{% for list in lists %}
- -
- {{ list.name }}
+ {% with list.name|add:" "|add:selected_lists as list_name %}
+ -
+
+ {{ list.name }}
+
+ {% endwith %}
{% endfor %}
diff --git a/src/super_archives/utils/url.py b/src/super_archives/utils/url.py
index bf40280..38f5402 100644
--- a/src/super_archives/utils/url.py
+++ b/src/super_archives/utils/url.py
@@ -19,6 +19,7 @@ def pop_from_get(path, query=None, **kwargs):
if query_dict[key] == value:
del query_dict[key]
continue
- if not query_dict:
- return u'{}?q='.format(path)
+ if value in query_dict[key]:
+ aux = query_dict[key].split(value)
+ query_dict[key] = u''.join(aux).strip()
return u'{}?{}'.format(path, urllib.urlencode(query_dict))
diff --git a/src/super_archives/views.py b/src/super_archives/views.py
index df44133..a53ff5c 100644
--- a/src/super_archives/views.py
+++ b/src/super_archives/views.py
@@ -60,8 +60,9 @@ def thread(request, mailinglist, thread_token):
def list_messages(request):
-
- selected_list = request.GET.get('list')
+ selected_lists = request.GET.get('list', [])
+ if selected_lists:
+ selected_lists = selected_lists.split()
order_by = request.GET.get('order')
if order_by == 'hottest':
@@ -69,9 +70,9 @@ def list_messages(request):
else:
threads = queries.get_latest_threads()
- mail_list = request.GET.get('list')
+ mail_list = selected_lists
if mail_list:
- threads = threads.filter(mailinglist__name=mail_list)
+ threads = threads.filter(mailinglist__name__in=mail_list)
paginator = Paginator(threads, 16)
try:
@@ -86,7 +87,7 @@ def list_messages(request):
'lists': lists,
'n_results': paginator.count,
'threads': threads,
- 'selected_list': selected_list,
+ 'selected_lists': ' '.join(selected_lists) if selected_lists else '',
'order_data': settings.ORDERING_DATA,
}
return render(request, 'message-list.html', template_data)
--
libgit2 0.21.2