Files

57 lines
1.4 KiB
Python

import datetime
from django import template
from django.shortcuts import redirect, render
from teamsnap.views import get_teamsnap_client
register = template.Library()
@register.simple_tag
def multiply(a, b):
return a * b
@register.simple_tag
def divide(a, b):
return int(a / b)
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.objects 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
],
},
)