Files
@ 2fcd7732384f
Branch filter:
Location: symposion_app/symposion/sponsorship/templatetags/sponsorship_tags.py - annotation
2fcd7732384f
2.2 KiB
text/x-python
Merge pull request #96 from miurahr/l10n-japanese
add japanese translation
add japanese translation
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)
|