Files
benchcoach-django/teamsnap/dashboard/views.py

44 lines
1.2 KiB
Python

import datetime
from django.shortcuts import redirect, render
from teamsnap.views import get_teamsnap_client
def dashboard(request, team_id=None):
if not team_id:
return redirect(
"teamsnap_dashboard",
team_id=request.user.teamsnap_preferences.managed_team_id,
)
from pyteamsnap.api import AvailabilitySummary, Event
client = get_teamsnap_client(request)
ts_events = Event.search(client, team_id=team_id)
ts_availability_summaries_d = {
a.data["id"]: a for a in AvailabilitySummary.search(client, team_id=team_id)
}
ts_events_future = [
e
for e in ts_events
if e.data["start_date"] > datetime.datetime.now(datetime.timezone.utc)
]
ts_events_past = [
e
for e in reversed(ts_events)
if e.data["start_date"] < datetime.datetime.now(datetime.timezone.utc)
]
return render(
request,
"dashboard.html",
{
"ts_events_future": ts_events_future,
"ts_events_past": ts_events_past,
"events_availabilities": [
(e, ts_availability_summaries_d[e.data["id"]]) for e in ts_events_future
],
},
)