31 lines
877 B
Python
31 lines
877 B
Python
from django.shortcuts import render
|
|
from django.contrib.auth.decorators import login_required
|
|
from calendars.models import Event
|
|
from clubs.models import Team
|
|
|
|
@login_required
|
|
def dashboard(request):
|
|
user = request.user
|
|
events = []
|
|
|
|
# Get teams for players
|
|
player_teams = []
|
|
if hasattr(user, 'team') and user.team:
|
|
player_teams = [user.team]
|
|
|
|
# Get teams for coaches
|
|
coached_teams = user.coached_teams.all()
|
|
assisted_teams = user.assisted_teams.all()
|
|
|
|
# Combine all teams and remove duplicates
|
|
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).order_by('start_time')
|
|
|
|
context = {
|
|
'events': events,
|
|
}
|
|
return render(request, 'dashboard/dashboard.html', context)
|