diff --git a/gamechanger/views.py b/gamechanger/views.py index 7bbd412..8a52fd6 100644 --- a/gamechanger/views.py +++ b/gamechanger/views.py @@ -169,8 +169,11 @@ def lineup_submit(request): ) elif lineup_entry["label"] != "DR": lineup.append(d) - gamechanger.submit_lineup(request, lineup) - return HttpResponse(status=200) + r = gamechanger.submit_lineup(request, lineup) + if r.content == b"OK": + return HttpResponse(status=200) + else: + return HttpResponseServerError() return HttpResponseServerError() diff --git a/teamsnap/lineup/views.py b/teamsnap/lineup/views.py index 57bed8d..eea4dca 100644 --- a/teamsnap/lineup/views.py +++ b/teamsnap/lineup/views.py @@ -6,6 +6,7 @@ from django.http import ( ) from django.shortcuts import redirect, render +from gamechanger.models import Player as GamechangerPlayer from teamsnap.views import get_teamsnap_client @@ -44,6 +45,16 @@ def edit_lineup(request, event_ids, team_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} + gc_player_lookup = { + m.data["id"]: getattr( + GamechangerPlayer.objects.filter( + teamsnap_member_id=m.data["id"] + ).first(), + "id", + None, + ) + 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} @@ -119,6 +130,9 @@ def edit_lineup(request, event_ids, team_id): "member_id": member["member"]["id"], "sequence": member["lineup_entry"].get("sequence"), "label": position, + "gamechanger_player_id": gc_player_lookup.get( + member["member"]["id"] + ), } ) @@ -225,12 +239,8 @@ def submit_lineup(request, team_id, event_id): else: pass else: - # breakpoint() pass - # breakpoint() - pass return JsonResponse(ts_event.data) - pass return HttpResponseServerError diff --git a/teamsnap/migrations/0002_auto_20220611_2005.py b/teamsnap/migrations/0002_auto_20220611_2005.py new file mode 100644 index 0000000..0e07ad0 --- /dev/null +++ b/teamsnap/migrations/0002_auto_20220611_2005.py @@ -0,0 +1,25 @@ +# Generated by Django 3.2.13 on 2022-06-12 01:05 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('teamsnap', '0001_initial'), + ] + + operations = [ + migrations.AlterModelOptions( + name='preferences', + options={'verbose_name_plural': 'preferences'}, + ), + migrations.AlterField( + model_name='preferences', + name='user', + field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_preferences', to=settings.AUTH_USER_MODEL), + ), + ]