diff options
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/templatetags/ishtar_helpers.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/ishtar_common/templatetags/ishtar_helpers.py b/ishtar_common/templatetags/ishtar_helpers.py index 51f5e722e..282f35521 100644 --- a/ishtar_common/templatetags/ishtar_helpers.py +++ b/ishtar_common/templatetags/ishtar_helpers.py @@ -18,6 +18,22 @@ def and_(value1, value2): @register.filter +def safe_or(item, args): + if not item: + return False + for arg in args.split("|"): + result = True + current_item = item + for sub in arg.split("."): + if not hasattr(current_item, sub) or not getattr(current_item, sub): + result = False + break + current_item = getattr(current_item, sub) + if result: + return True + + +@register.filter def file_content(value): if value: return mark_safe(value.read()) |