Merge branch 'gilbert' of https://github.com/melinath/philo into gilbert
authorHarris Lapiroff <hlapirof@oberlin.edu>
Thu, 9 Jun 2011 17:19:06 +0000 (13:19 -0400)
committerHarris Lapiroff <hlapirof@oberlin.edu>
Thu, 9 Jun 2011 17:19:06 +0000 (13:19 -0400)
1  2 
philo/contrib/shipherd/templatetags/shipherd.py
philo/contrib/sobol/templates/admin/sobol/search/grappelli_results.html
philo/contrib/sobol/templates/admin/sobol/search/results.html

@@@ -60,10 -60,6 +60,6 @@@ class LazyNavigationRecurser(object)
                        context['item'] = item
                        context['children'] = self.__class__(self.template_nodes, item.get_children(), context, request)
                        
-                       # Django 1.2.X compatibility - a lazy recurser will not be called if accessed as a template variable.
-                       if django_version < (1,3):
-                               context['children'] = context['children']()
-                       
                        # Then render the nodelist bit by bit.
                        for node in self.template_nodes:
                                bits.append(node.render(context))
  
  
  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:
                        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
                
@@@ -148,11 -135,17 +144,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
@@@ -28,8 -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">
@@@ -23,8 -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>