Merge branch 'master' of git://github.com/melinath/philo
authorJoseph Spiros <joseph.spiros@ithinksw.com>
Fri, 20 May 2011 02:48:27 +0000 (22:48 -0400)
committerJoseph Spiros <joseph.spiros@ithinksw.com>
Fri, 20 May 2011 02:48:27 +0000 (22:48 -0400)
* 'master' of git://github.com/melinath/philo:
  Minor tweaks to the sobol results templates.
  Removed outdated RecurseNavigationMarker code and added filtered interpretation of the recursenavigation's key argument. Currently falls back to old behavior, but new code should use quoted strings for literals.

contrib/shipherd/templatetags/shipherd.py
contrib/sobol/templates/admin/sobol/search/grappelli_results.html
contrib/sobol/templates/admin/sobol/search/results.html

index 6e36126..b05ff0f 100644 (file)
@@ -72,10 +72,10 @@ class LazyNavigationRecurser(object):
 
 
 class RecurseNavigationNode(template.Node):
-       def __init__(self, template_nodes, instance_var, key):
+       def __init__(self, template_nodes, instance_var, key_var):
                self.template_nodes = template_nodes
                self.instance_var = instance_var
-               self.key = key
+               self.key_var = key_var
        
        def render(self, context):
                try:
@@ -84,9 +84,18 @@ class RecurseNavigationNode(template.Node):
                        return ''
                
                instance = self.instance_var.resolve(context)
+               key = self.key_var.resolve(context)
+               
+               # Fall back on old behavior if the key doesn't seem to be a variable.
+               if not key:
+                       token = self.key_var.token
+                       if token[0] not in ["'", '"'] and '.' not in token:
+                               key = token
+                       else:
+                               return settings.TEMPLATE_STRING_IF_INVALID
                
                try:
-                       items = instance.navigation[self.key]
+                       items = instance.navigation[key]
                except:
                        return settings.TEMPLATE_STRING_IF_INVALID
                
@@ -139,17 +148,11 @@ def recursenavigation(parser, token):
                raise template.TemplateSyntaxError(_('%s tag requires two arguments: a node and a navigation section name') % bits[0])
        
        instance_var = parser.compile_filter(bits[1])
-       key = bits[2]
-       
-       template_nodes = parser.parse(('recurse', 'endrecursenavigation',))
-       
-       token = parser.next_token()
-       if token.contents == 'recurse':
-               template_nodes.append(RecurseNavigationMarker())
-               template_nodes.extend(parser.parse(('endrecursenavigation')))
-               parser.delete_first_token()
+       key_var = parser.compile_filter(bits[2])
        
-       return RecurseNavigationNode(template_nodes, instance_var, key)
+       template_nodes = parser.parse(('endrecursenavigation',))
+       token = parser.delete_first_token()
+       return RecurseNavigationNode(template_nodes, instance_var, key_var)
 
 
 @register.filter
index 45135ff..f01eb88 100644 (file)
@@ -28,9 +28,8 @@
 {% block content %}
        <div class="container-grid delete-confirmation">
                {% for search in queryset %}
-               {% if not forloop.first and not forloop.last %}<h1>{{ search.string }}</h1>{% endif %}
                <div class="group tabular">
-                       <h2>{% blocktrans %}Results{% endblocktrans %}</h2>{% comment %}For the favored results, add a class?{% endcomment %}
+                       <h2>{{ search_string }}</h2>
                        <div class="module table">
                                <div class="module thead">
                                        <div class="tr">
index 44d4e7c..24442c7 100644 (file)
@@ -23,9 +23,8 @@
 
 {% block content %}
                {% for search in queryset %}
-               {% if not forloop.first and not forloop.last %}<h1>{{ search.string }}</h1>{% endif %}
                        <fieldset class="module">
-                               <h2>{% blocktrans %}Results{% endblocktrans %}</h2>{% comment %}For the favored results, add a class?{% endcomment %}
+                               <h2>{{ search.string }}</h2>
                                <table>
                                        <thead>
                                                <tr>