39 lines
1.5 KiB
Python

from django.shortcuts import render
from django.contrib.auth.decorators import login_required
from calendars.models import Event, EventParticipation
from clubs.models import Team
@login_required
def dashboard(request):
user = request.user
events = []
children_events = []
# Get user's own events
player_teams = []
if hasattr(user, 'team') and user.team:
player_teams = [user.team]
coached_teams = user.coached_teams.all()
assisted_teams = user.assisted_teams.all()
from itertools import chain
all_teams = list(set(chain(player_teams, coached_teams, assisted_teams)))
if all_teams:
events = Event.objects.filter(team__in=all_teams).select_related('game', 'training').order_by('start_time')
# Get children's events
if hasattr(user, 'children'):
for child in user.children.all():
child_events_list = []
if child.team:
child_events = Event.objects.filter(team=child.team).select_related('game', 'training').order_by('start_time')
for event in child_events:
participation, created = EventParticipation.objects.get_or_create(user=child, event=event)
child_events_list.append({'event': event, 'participation': participation})
children_events.append({'child': child, 'events': child_events_list})
context = {
'events': events,
'children_events': children_events,
}
return render(request, 'dashboard/dashboard.html', context)