diff options
| author | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-01-28 17:05:14 +0100 |
|---|---|---|
| committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-01-28 17:05:14 +0100 |
| commit | e34df16f34008aa7019a5240689a5e0e7f64e18d (patch) | |
| tree | 7e928cd57d824378308bb9d31f1eaf3804b49570 /ishtar/furnitures/views.py | |
| parent | 327c22fb70db76186c3765c168a7654102c59177 (diff) | |
| download | Ishtar-e34df16f34008aa7019a5240689a5e0e7f64e18d.tar.bz2 Ishtar-e34df16f34008aa7019a5240689a5e0e7f64e18d.zip | |
Manage ordering - default item - save last search in session (refs #142)
Diffstat (limited to 'ishtar/furnitures/views.py')
| -rw-r--r-- | ishtar/furnitures/views.py | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/ishtar/furnitures/views.py b/ishtar/furnitures/views.py index 811618449..b266bed63 100644 --- a/ishtar/furnitures/views.py +++ b/ishtar/furnitures/views.py @@ -157,7 +157,14 @@ def json_operation(request, non_closed=True): continue dct[request_keys[k]] = q if not dct: - return HttpResponse(mimetype='text/plain') + if 'json_operation' in request.session: + dct = request.session['json_operation'] + elif 'operation' in request.session: + dct = {"pk":request.session['operation']} + if not dct: + return HttpResponse(mimetype='text/plain') + else: + request.session['json_operation'] = dct query = Q(**dct) operations = models.Operation.objects.filter(query) q = request.GET.get('sidx') @@ -166,9 +173,13 @@ def json_operation(request, non_closed=True): if k.endswith("__pk"): k = k[:-len("__pk")] + "__label" q = request.GET.get('sord') - if q and q == u'desc': - k = "-" + k - operations.order_by(k) + sign = q and q == u'desc' and "-" or '' + if k == "name": + k = "operation_code" + operations = operations.order_by(sign + 'year').order_by( + sign + 'operation_code') + else: + operations = operations.order_by(sign + k) data = json.dumps({ "records":len(operations), "rows":[{"id":unicode(operation.pk), |
