File diff 96596dc5ddb2 → 6d5c24e6354f
symposion/sponsorship/templatetags/sponsorship_tags.py
Show inline comments
...
 
@@ -8,7 +8,7 @@ register = template.Library()
 

	
 

	
 
class SponsorsNode(template.Node):
 
    
 

 
    @classmethod
 
    def handle_token(cls, parser, token):
 
        bits = token.split_contents()
...
 
@@ -18,27 +18,30 @@ class SponsorsNode(template.Node):
 
            return cls(bits[3], bits[1])
 
        else:
 
            raise template.TemplateSyntaxError("%r takes 'as var' or 'level as var'" % bits[0])
 
    
 

 
    def __init__(self, context_var, level=None):
 
        if level:
 
            self.level = template.Variable(level)
 
        else:
 
            self.level = None
 
        self.context_var = context_var
 
    
 

 
    def render(self, context):
 
        conference = current_conference()
 
        if self.level:
 
            level = self.level.resolve(context)
 
            queryset = Sponsor.objects.filter(level__conference = conference, level__name__iexact = level, active = True).order_by("added")
 
            queryset = Sponsor.objects.filter(
 
                level__conference=conference, level__name__iexact=level, active=True)\
 
                .order_by("added")
 
        else:
 
            queryset = Sponsor.objects.filter(level__conference = conference, active = True).order_by("level__order", "added")
 
            queryset = Sponsor.objects.filter(level__conference=conference, active=True)\
 
                .order_by("level__order", "added")
 
        context[self.context_var] = queryset
 
        return u""
 

	
 

	
 
class SponsorLevelNode(template.Node):
 
    
 

 
    @classmethod
 
    def handle_token(cls, parser, token):
 
        bits = token.split_contents()
...
 
@@ -46,10 +49,10 @@ class SponsorLevelNode(template.Node):
 
            return cls(bits[2])
 
        else:
 
            raise template.TemplateSyntaxError("%r takes 'as var'" % bits[0])
 
    
 

 
    def __init__(self, context_var):
 
        self.context_var = context_var
 
    
 

 
    def render(self, context):
 
        conference = current_conference()
 
        context[self.context_var] = SponsorLevel.objects.filter(conference=conference)
...
 
@@ -72,4 +75,3 @@ def sponsor_levels(parser, token):
 
    {% sponsor_levels as levels %}
 
    """
 
    return SponsorLevelNode.handle_token(parser, token)
 
    
...
 
\ No newline at end of file