Files
@ 1f9ceed0e1f2
Branch filter:
Location: symposion_app/symposion/teams/templatetags/teams_tags.py - annotation
1f9ceed0e1f2
1.1 KiB
text/x-python
added notification template handling in result_notification_prepare
6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 16630a6db35e 9a23c142e8ee eb2382d3ac35 eb2382d3ac35 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b | from django import template
from symposion.teams.models import Team
register = template.Library()
class AvailableTeamsNode(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):
request = context["request"]
teams = []
for team in Team.objects.all():
state = team.get_state_for_user(request.user)
if team.access == "open" and state is None:
teams.append(team)
elif request.user.is_staff and state is None:
teams.append(team)
context[self.context_var] = teams
return u""
@register.tag
def available_teams(parser, token):
"""
{% available_teams as available_teams %}
"""
return AvailableTeamsNode.handle_token(parser, token)
|