← Back to team overview

harvest-dev team mailing list archive

[Merge] lp:~dholbach/harvest/979091 into lp:harvest

 

Daniel Holbach has proposed merging lp:~dholbach/harvest/979091 into lp:harvest.

Requested reviews:
  harvest-dev (harvest-dev)
Related bugs:
  Bug #979091 in harvest: "API: if _sortby is not passed, we get {"error": "local variable 'results' referenced before assignment"}"
  https://bugs.launchpad.net/harvest/+bug/979091

For more details, see:
https://code.launchpad.net/~dholbach/harvest/979091/+merge/101606

Make sure 'results' exists, regardless of passed arguments.

Try http://127.0.0.1:8000/services/opportunitylists/?_sortby=id vs http://127.0.0.1:8000/services/opportunitylists/
-- 
https://code.launchpad.net/~dholbach/harvest/979091/+merge/101606
Your team harvest-dev is requested to review the proposed merge of lp:~dholbach/harvest/979091 into lp:harvest.
=== modified file 'harvest/services/__init__.py'
--- harvest/services/__init__.py	2012-04-11 12:30:49 +0000
+++ harvest/services/__init__.py	2012-04-11 16:50:39 +0000
@@ -80,8 +80,10 @@
     for key in search_values.keys():
         if key.startswith('_'):
             extra_arguments[key] = search_values.pop(key)
+    
+    results = model.objects.filter(**search_values)
     if '_sortby' in request and request['_sortby'] not in EMPTY_VALUES:
-        results = model.objects.filter(**search_values).order_by(request.get('_sortby'))
+        results = results.order_by(request.get('_sortby'))
     
     offset = parse_number_argument(extra_arguments, '_offset')
     length = parse_number_argument(extra_arguments, '_length')