Files
@ b20dc75ea6a2
Branch filter:
Location: symposion_app/vendor/symposion/teams/templatetags/teams_tags.py - annotation
b20dc75ea6a2
1.1 KiB
text/x-python
Update for LCA2021
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)
|