From: Stephen Finucane Date: Thu, 27 Sep 2018 14:34:07 +0000 (+0100) Subject: filters: Return dictionaries X-Git-Tag: v2.1.1~10 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=07020c49e6ba364e6ee5e4f6678635268dc2a976;p=thirdparty%2Fpatchwork.git filters: Return dictionaries This makes it a little easier to figure out what filters are active and will be used in a future patch. Signed-off-by: Stephen Finucane (cherry picked from commit 0bd13fe1d4d077e7b1fa101d08c914da04387d0a) --- diff --git a/patchwork/filters.py b/patchwork/filters.py index 8d0f82f2..f6e48394 100644 --- a/patchwork/filters.py +++ b/patchwork/filters.py @@ -19,6 +19,8 @@ from __future__ import absolute_import +import collections + from django.contrib.auth.models import User from django.utils.html import escape from django.utils.safestring import mark_safe @@ -459,7 +461,7 @@ class Filters: self.project = project def filter_conditions(self): - kwargs = {} + kwargs = collections.OrderedDict() for f in self._filters: if f.applied: kwargs.update(f.kwargs()) @@ -472,11 +474,11 @@ class Filters: return queryset.filter(**kwargs) def params(self): - return [(f.param, f.key()) for f in self._filters - if f.key() is not None] + return collections.OrderedDict([ + (f.param, f.key()) for f in self._filters if f.key() is not None]) def querystring(self, remove=None): - params = dict(self.params()) + params = self.params() for (k, v) in self.values.items(): if k not in params: @@ -497,7 +499,8 @@ class Filters: return self.querystring(filter) def applied_filters(self): - return [x for x in self._filters if x.applied] + return collections.OrderedDict([ + (x.param, x) for x in self._filters if x.applied]) def available_filters(self): return self._filters diff --git a/patchwork/templates/patchwork/filters.html b/patchwork/templates/patchwork/filters.html index 5331ac85..e760310b 100644 --- a/patchwork/templates/patchwork/filters.html +++ b/patchwork/templates/patchwork/filters.html @@ -130,7 +130,7 @@ $(document).ready(function() {
Show patches with: {% if filters.applied_filters %} - {% for filter in filters.applied_filters %} + {% for filter in filters.applied_filters.values %} {{ filter.name }} = {{ filter.condition }} {% if not filter.forced %}