diff options
Diffstat (limited to 'ishtar_common/views.py')
-rw-r--r-- | ishtar_common/views.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 6c0f0696a..dc72b8d12 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -173,7 +173,8 @@ HIERARCHIC_LEVELS = 5 HIERARCHIC_FIELDS = ['periods', '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=[], dated_fields=[]): + base_request={}, bool_fields=[], reversed_bool_fields=[], + dated_fields=[]): """ Generic treatment of tables """ @@ -207,12 +208,14 @@ def get_item(model, func_name, default_name, extra_request_keys=[], dct = request.session[func_name] else: request.session[func_name] = dct - for k in bool_fields: + for k in (list(bool_fields) + list(reversed_bool_fields)): if k in dct: if dct[k] == u"1": dct.pop(k) else: dct[k] = dct[k] == u"2" and True or False + if k in reversed_bool_fields: + dct[k] = not dct[k] for k in dated_fields: if k in dct: if not dct[k]: |