X-Git-Url: http://git.ithinksw.org/philo.git/blobdiff_plain/64e4cdefe89f642d349b5908a3bbaec76333e3b2..3c26965045e8881acd4d5de8c195e4aa61b95ed1:/templatetags/nodes.py diff --git a/templatetags/nodes.py b/templatetags/nodes.py index c2dcd9a..5ae507d 100644 --- a/templatetags/nodes.py +++ b/templatetags/nodes.py @@ -55,10 +55,7 @@ class NodeURLNode(template.Node): raise return settings.TEMPLATE_STRING_IF_INVALID else: - if subpath[0] == '/': - subpath = subpath[1:] - - url = node.get_absolute_url() + subpath + url = node.construct_url(subpath) if self.as_var: context[self.as_var] = url @@ -114,84 +111,4 @@ def do_node_url(parser, token): args.append(parser.compile_filter(value)) return NodeURLNode(view_name=view_name, args=args, kwargs=kwargs, node=node, as_var=as_var) - return NodeURLNode(node=node, as_var=as_var) - - -class NavigationNode(template.Node): - def __init__(self, node=None, as_var=None): - self.as_var = as_var - self.node = node - - def render(self, context): - if 'request' not in context: - return settings.TEMPLATE_STRING_IF_INVALID - - if self.node: - node = self.node.resolve(context) - else: - node = context.get('node', None) - - if not node: - return settings.TEMPLATE_STRING_IF_INVALID - - try: - nav_root = node.attributes['navigation_root'] - except KeyError: - if settings.TEMPLATE_DEBUG: - raise - return settings.TEMPLATE_STRING_IF_INVALID - - # Should I get its override and check for a max depth override there? - navigation = nav_root.get_navigation() - - if self.as_var: - context[self.as_var] = navigation - return '' - - return self.compile(navigation, context['request'].path, nav_root.get_absolute_url(), nav_root.get_level(), nav_root.get_level() + 3) - - def compile(self, navigation, active_path, root_url, current_depth, max_depth): - compiled = "" - for item in navigation: - if item['url'] in active_path and (item['url'] != root_url or root_url == active_path): - compiled += "