Files
@ 34c7beec35bb
Branch filter:
Location: symposion_app/vendor/symposion/teams/templatetags/teams_tags.py - annotation
34c7beec35bb
1.1 KiB
text/x-python
Update initial fixtures for LCA2019
6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 36ab6d599ffc 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 6e67b505013b 36ab6d599ffc 6e67b505013b 6e67b505013b 36ab6d599ffc 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)
|