Minor tweak to has_navigation filter to silence all errors and return False.
[philo.git] / contrib / shipherd / templatetags / shipherd.py
index 97475fd..fa4ec3e 100644 (file)
@@ -83,8 +83,17 @@ def recursenavigation(parser, token):
 
 
 @register.filter
-def has_navigation(node): # optional arg for a key?
-       return bool(node.navigation)
+def has_navigation(node, key=None):
+       try:
+               nav = node.navigation
+               if key is not None:
+                       if key in nav and bool(node.navigation[key]):
+                               return True
+                       elif key not in node.navigation:
+                               return False
+               return bool(node.navigation)
+       except:
+               return False
 
 
 @register.filter