diff --git a/teamsnap/lineup/templates/lineup/edit.html b/teamsnap/lineup/templates/lineup/edit.html index 4b655d9..cbeba1d 100644 --- a/teamsnap/lineup/templates/lineup/edit.html +++ b/teamsnap/lineup/templates/lineup/edit.html @@ -37,6 +37,14 @@ postSubmit.addEventListener("click", e => { e.preventDefault(); formData = new FormData(postSubmit.form); + for (player_lineup_row of postSubmit.form.querySelectorAll("[class=player-lineup-row]")) { + event_lineup_entry_id_input = player_lineup_row.querySelector('[id$="event_lineup_entry_id"]') + sequence = player_lineup_row.querySelector('[id$="sequence"]').value + position = player_lineup_row.dataset['position'] + if (position == '' && sequence == '') { + event_lineup_entry_id_input.value = '' + } + } fetch(postSubmit.formAction, { method: 'POST', body: formData, @@ -44,10 +52,20 @@ .then(response => response) .then(data => { if (data.ok) { + data.json().then(response_data => { + for (event_lineup_entry of response_data){ + player_lineup_row = postSubmit.form.querySelector(`[data-player-id="${event_lineup_entry['member_id']}"]`) + event_lineup_entry_id_input = player_lineup_row.querySelector('[id$="event_lineup_entry_id"]') + event_lineup_entry_id_input.value = event_lineup_entry['id'] + event_lineup_id_input = player_lineup_row.querySelector('[id$="event_lineup_id"]') + event_lineup_id_input.value = event_lineup_entry['event_lineup_id'] + } + }) document.querySelector("#popup-messages-content").innerHTML = `
|
-
- {{ form.sequence.as_hidden }}
-
{% if form.order.value > 0 %}{{ form.order.value | add:"1" }}{% endif %}
@@ -33,7 +31,6 @@
{% if form.availability.data.status_code == 2 %}
{% elif form.availability.data.status_code == 1 %}
-{# #}
{% elif form.availability.data.status_code == 0 %}
diff --git a/teamsnap/lineup/views.py b/teamsnap/lineup/views.py
index a1bd75b..13b08ba 100644
--- a/teamsnap/lineup/views.py
+++ b/teamsnap/lineup/views.py
@@ -25,6 +25,7 @@ def edit_lineup(request, event_ids, team_id):
EventLineupEntry,
Member,
)
+
from teamsnap.forms import LineupEntryFormset
client = get_teamsnap_client(request)
@@ -199,11 +200,11 @@ def edit_lineup(request, event_ids, team_id):
def submit_lineup(request, team_id, event_id):
- from pyteamsnap.objects import Event, EventLineup, EventLineupEntry
+ from pyteamsnap.objects import EventLineup, EventLineupEntry
+
from teamsnap.forms import LineupEntryFormset
client = get_teamsnap_client(request)
- ts_event = Event.get(client, event_id)
ts_lineup = EventLineup.search(client, event_id=event_id)
event_lineup_id = ts_lineup[0].data["id"]
if request.GET:
@@ -247,7 +248,8 @@ def submit_lineup(request, team_id, event_id):
pass
else:
pass
- return JsonResponse(ts_event.data)
+ ts_event_lineup_entries = EventLineupEntry.search(client, event_id=event_id)
+ return JsonResponse([lue.data for lue in ts_event_lineup_entries], safe=False)
return HttpResponseServerError
@@ -258,7 +260,6 @@ def multi_lineup_choose(request, team_id=None):
team_id=request.user.teamsnap_preferences.managed_team_id,
)
from django.forms import formset_factory
-
from pyteamsnap.objects import Event
from .forms import EventChooseForm
|