diff options
Diffstat (limited to 'ishtar/ishtar_base/views.py')
-rw-r--r-- | ishtar/ishtar_base/views.py | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/ishtar/ishtar_base/views.py b/ishtar/ishtar_base/views.py index e32b9dba5..8a3ecb05f 100644 --- a/ishtar/ishtar_base/views.py +++ b/ishtar/ishtar_base/views.py @@ -219,14 +219,17 @@ def get_item(model, func_name, default_name, extra_request_keys=[], query = query & or_req items = model.objects.filter(query) q = request_items.get('sidx') - # manage tables + # manage sort tables if q and q in request_keys: - k = request_keys[q] - if k.endswith("__pk"): - k = k[:-len("__pk")] + "__label" - q = request_items.get('sord') - sign = q and q == u'desc' and "-" or '' - items = items.order_by(sign + k) + ks = request_keys[q] + if type(ks) not in (list, tuple): + ks = [k] + for k in ks: + if k.endswith("__pk"): + k = k[:-len("__pk")] + "__label" + q = request_items.get('sord') + sign = q and q == u'desc' and "-" or '' + items = items.order_by(sign + k) datas = [] if old: items = [item.get_previous(old) for item in items] @@ -429,7 +432,8 @@ def autocomplete_operation(request, non_closed=True): get_operation = get_item(models.Operation, 'get_operation', 'operation', bool_fields = ['end_date__isnull'], - extra_request_keys={'end_date':'end_date__isnull'}) + extra_request_keys={'end_date':'end_date__isnull', + 'year_index':('year', 'operation_code')}) show_operation = show_item(models.Operation, 'operation') revert_operation = revert_item(models.Operation) |