Files
@ 7fe481ee98c5
Branch filter:
Location: symposion_app/symposion/teams/templatetags/teams_tags.py - annotation
7fe481ee98c5
1.1 KiB
text/x-python
implemented team accept/reject
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 9a23c142e8ee 9a23c142e8ee 9a23c142e8ee 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 state == "invited":
teams.append(team)
elif 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)
|