summaryrefslogtreecommitdiff
path: root/ishtar/ishtar_base/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar/ishtar_base/views.py')
-rw-r--r--ishtar/ishtar_base/views.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/ishtar/ishtar_base/views.py b/ishtar/ishtar_base/views.py
index 8a3ecb05f..99c2167d7 100644
--- a/ishtar/ishtar_base/views.py
+++ b/ishtar/ishtar_base/views.py
@@ -203,9 +203,11 @@ def get_item(model, func_name, default_name, extra_request_keys=[],
dct[k] = dct[k] == u"2" and True or False
# manage hierarchic conditions
or_reqs = []
- for k in HIERARCHIC_FIELDS:
+ for k_hr in HIERARCHIC_FIELDS:
+ if k_hr not in dct:
+ continue
for req in dct.copy():
- if req.endswith(k + '__pk'):
+ if req.endswith(k_hr + '__pk'):
val = dct.pop(req)
reqs = Q(**{req:val})
req = req[:-2] + '__'
@@ -223,12 +225,14 @@ def get_item(model, func_name, default_name, extra_request_keys=[],
if q and q in request_keys:
ks = request_keys[q]
if type(ks) not in (list, tuple):
- ks = [k]
+ ks = [ks]
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 ''
+ if '__' in k:
+ k = k.split('__')[0]
items = items.order_by(sign + k)
datas = []
if old: