From d9bae7a9a7b9af6e0462119dddfa5ec407622c46 Mon Sep 17 00:00:00 2001 From: Tony Date: Thu, 19 May 2022 18:23:50 -0500 Subject: [PATCH] move old teamsnap home to new page --- teamsnap/templates/teamsnap/teamsnap.html | 101 ++++++++++++++++++++++ teamsnap/views.py | 97 +-------------------- 2 files changed, 102 insertions(+), 96 deletions(-) create mode 100644 teamsnap/templates/teamsnap/teamsnap.html diff --git a/teamsnap/templates/teamsnap/teamsnap.html b/teamsnap/templates/teamsnap/teamsnap.html new file mode 100644 index 0000000..ba2028e --- /dev/null +++ b/teamsnap/templates/teamsnap/teamsnap.html @@ -0,0 +1,101 @@ +{% extends "base.html" %}{% load static %} +{% block title %} {{ title }}{% endblock %} +{% block page_heading %}{% endblock %} +{% block content %} +

Dashboard

+ +
+
+
+
+

Upcoming Games

+
+
+
+ {% for event, availability_summary in events_availabilities|slice:":4" %} +
+
+
+ + +
+
+

{{ event.data.formatted_title }}

+
{{ event.data.start_date|date:"D, F j, Y g:i A" }}
+
{{ event.data.location_name }}
Go to Lineup +
+
+
+ {% endfor %} +
+
+
+
+
+
+
+

Past Games

+
+
+ {% for event in ts_events_past|slice:":4" %} +
+
+

{{ event.data.formatted_title }}

+
{{ event.data.start_date|date:"D, F j" }}
+

{{ event.data.formatted_results }}

+
+
+ {% endfor %} +
+
+
+ +
+ + + + + +{% endblock %} \ No newline at end of file diff --git a/teamsnap/views.py b/teamsnap/views.py index 0531682..165a57e 100644 --- a/teamsnap/views.py +++ b/teamsnap/views.py @@ -231,102 +231,7 @@ def opponent(request, team_id, id): pass @login_required() -def edit_lineup(request, event_id, team_id): - TOKEN = request.user.profile.teamsnap_access_token - - from pyteamsnap.api import TeamSnap, Event, Availability, Member, EventLineupEntry, EventLineup, AvailabilitySummary, Opponent - client = TeamSnap(token=TOKEN) - time.sleep(0.5) - - ts_bulkload = client.bulk_load(team_id=team_id, - types=[Event, EventLineup, EventLineupEntry, AvailabilitySummary, Member], - event__id=event_id) - ts_event = [i for i in ts_bulkload if isinstance(i, Event)][0] - ts_availabilities = Availability.search(client, event_id=ts_event.data['id']) - ts_availability_summary = \ - [i for i in ts_bulkload if isinstance(i, AvailabilitySummary) and i.data['event_id'] == event_id][0] - ts_lineup_entries = EventLineupEntry.search(client, event_id=event_id) - - if ts_lineup_entries: - ts_lineup = EventLineup.get(client, id=ts_lineup_entries[0].data['event_lineup_id']) - else: - ts_lineup = EventLineup.search(client, event_id=event_id) - - ts_members = [i for i in ts_bulkload if isinstance(i, Member)] - ts_member_lookup = {m.data['id']: m for m in ts_members} - ts_availability_lookup = {m.data['member_id']: m for m in ts_availabilities} - ts_lineup_entries_lookup = {m.data['member_id']: m for m in ts_lineup_entries} - - members=[] - - for member in ts_members: - members.append ({ - "member":getattr(member, 'data'), - "availability": getattr(ts_availability_lookup.get(member.data['id'], {}), 'data', {}), - "lineup_entry": getattr(ts_lineup_entries_lookup.get(member.data['id'], {}), 'data', {}) - } - ) - - members = sorted(members, key=lambda d: ( - { - None:3, # No Response - 0:2, # No - 2:1, # Maybe - 1:0 # Yes - - }.get(d['availability'].get('status_code')), - d['member'].get('last_name')) - ) - - - from teamsnap.forms import LineupEntryFormset, LineupEntryForm - - formset = LineupEntryFormset( - initial=[ - { - "event_lineup_entry_id" : member['lineup_entry'].get('id'), - "event_lineup_id" : member['lineup_entry'].get('event_lineup_id'), - "event_id": event_id, - "member_id" : member['member']['id'], - "sequence" : member['lineup_entry'].get('sequence'), - "label" : member['lineup_entry'].get('label'), - } - for member in members if not member['member']['is_non_player'] - ] - ) - - for form in formset: - form.member = ts_member_lookup.get(form['member_id'].initial) - form.availability = ts_availability_lookup.get(form['member_id'].initial) - - formset_lineup = [form for form in formset if form.initial.get('event_lineup_entry_id')] - formset_lineup = sorted( - formset_lineup, - key=lambda d: d.initial.get('sequence',100) - ) - formset_bench = [form for form in formset if - form not in formset_lineup and - form.availability.data['status_code'] in [2, 1] - ] - formset_out = [form for form in formset if - form not in formset_lineup and - form not in formset_bench and - not form.member.data['is_non_player'] - ] - - return render(request, "teamsnap/lineup/edit.html", context={ - "team_id": team_id, - "event_id": event_id, - "event": ts_event, - "formset": formset, - "formset_startinglineup":formset_lineup, - "formset_bench": formset_bench, - "formset_out": formset_out, - "lineup": ts_lineup - }) - -@login_required() -def edit_multiple_lineups(request, team_id, event_ids): +def edit_lineup(request, event_ids, team_id): TOKEN = request.user.profile.teamsnap_access_token from django.forms import formset_factory from teamsnap.forms import EventChooseForm