Files
@ 44deb8a53634
Branch filter:
Location: symposion_app/symposion/sponsorship/templatetags/sponsorship_tags.py - annotation
44deb8a53634
2.2 KiB
text/x-python
i18n for more mesages
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
46e38bc75841 46e38bc75841 c9e600e42cba c9e600e42cba 46e38bc75841 46e38bc75841 46e38bc75841 46e38bc75841 46e38bc75841 46e38bc75841 36ab6d599ffc 46e38bc75841 46e38bc75841 46e38bc75841 e4e7b890a2a6 e4e7b890a2a6 e4e7b890a2a6 e4e7b890a2a6 e4e7b890a2a6 e4e7b890a2a6 36ab6d599ffc e4e7b890a2a6 e4e7b890a2a6 e4e7b890a2a6 e4e7b890a2a6 e4e7b890a2a6 46e38bc75841 36ab6d599ffc 46e38bc75841 ef2624698b3c e4e7b890a2a6 e4e7b890a2a6 36ab6d599ffc 36ab6d599ffc 36ab6d599ffc e4e7b890a2a6 36ab6d599ffc 36ab6d599ffc 46e38bc75841 46e38bc75841 46e38bc75841 46e38bc75841 e4e7b890a2a6 36ab6d599ffc e4e7b890a2a6 e4e7b890a2a6 e4e7b890a2a6 e4e7b890a2a6 e4e7b890a2a6 e4e7b890a2a6 e4e7b890a2a6 36ab6d599ffc e4e7b890a2a6 e4e7b890a2a6 36ab6d599ffc e4e7b890a2a6 ef2624698b3c ef2624698b3c e4e7b890a2a6 e4e7b890a2a6 e4e7b890a2a6 46e38bc75841 46e38bc75841 46e38bc75841 e4e7b890a2a6 e4e7b890a2a6 e4e7b890a2a6 46e38bc75841 46e38bc75841 e4e7b890a2a6 e4e7b890a2a6 e4e7b890a2a6 e4e7b890a2a6 e4e7b890a2a6 e4e7b890a2a6 e4e7b890a2a6 e4e7b890a2a6 | from django import template
from symposion.conference.models import current_conference
from symposion.sponsorship.models import Sponsor, SponsorLevel
register = template.Library()
class SponsorsNode(template.Node):
@classmethod
def handle_token(cls, parser, token):
bits = token.split_contents()
if len(bits) == 3 and bits[1] == "as":
return cls(bits[2])
elif len(bits) == 4 and bits[2] == "as":
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")
else:
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()
if len(bits) == 3 and bits[1] == "as":
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)
return u""
@register.tag
def sponsors(parser, token):
"""
{% sponsors as all_sponsors %}
or
{% sponsors "gold" as gold_sponsors %}
"""
return SponsorsNode.handle_token(parser, token)
@register.tag
def sponsor_levels(parser, token):
"""
{% sponsor_levels as levels %}
"""
return SponsorLevelNode.handle_token(parser, token)
|