summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ishtar/ishtar_base/views.py9
1 files changed, 4 insertions, 5 deletions
diff --git a/ishtar/ishtar_base/views.py b/ishtar/ishtar_base/views.py
index e0a96063c..3bc21880a 100644
--- a/ishtar/ishtar_base/views.py
+++ b/ishtar/ishtar_base/views.py
@@ -159,7 +159,7 @@ def format_val(val):
return unicode(val)
HIERARCHIC_LEVELS = 5
-HIERARCHIC_FIELDS = ['period', 'unit', 'material']
+HIERARCHIC_FIELDS = ['period', 'unit', 'material_type']
PRIVATE_FIELDS = ('id', 'history_modifier', 'order')
def get_item(model, func_name, default_name, extra_request_keys=[],
base_request={}, bool_fields=[]):
@@ -204,10 +204,8 @@ 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_hr in HIERARCHIC_FIELDS:
- if k_hr not in dct:
- continue
- for req in dct.copy():
+ for req in dct.copy():
+ for k_hr in HIERARCHIC_FIELDS:
if req.endswith(k_hr + '__pk'):
val = dct.pop(req)
reqs = Q(**{req:val})
@@ -217,6 +215,7 @@ def get_item(model, func_name, default_name, extra_request_keys=[],
q = Q(**{req:val})
reqs = reqs | q
or_reqs.append(reqs)
+ break
query = Q(**dct)
for or_req in or_reqs:
query = query & or_req