From b6472507e467791c2963973ec691ef0f4619cdc1 Mon Sep 17 00:00:00 2001 From: Ivan Giuliani Date: Wed, 18 Jan 2012 14:39:36 +0100 Subject: [PATCH] apply_query shouldn't modify the parameters dictionary Changing parameters in apply_query might yield an invalid state in later code that assumes the query was not changed. This patch avoids parameters modification and should fix the issue reported in #109 --- helpdesk/lib.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/helpdesk/lib.py b/helpdesk/lib.py index 99a3c579..6c825038 100644 --- a/helpdesk/lib.py +++ b/helpdesk/lib.py @@ -173,10 +173,12 @@ def apply_query(queryset, params): # eg a Q() set queryset = queryset.filter(params['other_filter']) - if params.get('sorting', None): - if params.get('sortreverse', None): - params['sorting'] = "-%s" % params['sorting'] - queryset = queryset.order_by(params['sorting']) + sorting = params.get('sorting', None) + if not sorting: + sortreverse = params.get('sortreverse', None) + if not sortreverse: + sorting = "-%s" % sorting + queryset = queryset.order_by(sorting) return queryset