Properly handle querystring filters

master
Brandon Taylor 2019-02-12 11:15:17 -05:00
parent 598a97c997
commit 1e395ab3f0
2 changed files with 4 additions and 6 deletions

View File

@ -116,7 +116,6 @@ class SortableAdmin(SortableAdminBase, ModelAdmin):
"""
# get sort group index from querystring if present
sort_filter_index = request.GET.get('sort_filter')
filter_expression = request.GET.get('filter_expression')
filters = {}
@ -126,10 +125,9 @@ class SortableAdmin(SortableAdminBase, ModelAdmin):
except (IndexError, ValueError):
pass
if filter_expression:
filters.update(
dict([filter_expression.split('=')])
)
# apply any filters via the querystring
for k, v in request.GET.items():
filters.update({ k: v })
# Apply any sort filters to create a subset of sortable objects
return self.get_queryset(request).filter(**filters)

View File

@ -10,7 +10,7 @@
var urlParts = url.split('?');
if (urlParts.length === 2 && urlParts[1].substr(0, 2) !== 'q=') {
$('a#change-order').attr('href', './sort/?filter_expression=' + urlParts[1]);
$('a#change-order').attr('href', './sort/?' + urlParts[1]);
}
});
})(django.jQuery);