provide ways to add benchcoach object to teamsnap object.

This commit is contained in:
2021-12-13 07:25:21 -06:00
parent f54c61d3aa
commit f19a9ee67d
7 changed files with 111 additions and 7 deletions

View File

@@ -4,6 +4,7 @@ from events.models import Event
from players.models import Player
from django.forms import modelformset_factory, inlineformset_factory, BaseModelFormSet,formset_factory
from crispy_forms.helper import FormHelper, Layout
from teamsnap.models import Event as TeamsnapEvent
class PositioningForm(forms.ModelForm):
availability = None
@@ -20,5 +21,24 @@ PositioningFormSet = modelformset_factory(
# fields=['order', 'position','player'],
# min_num=9,
extra=0
)
class TeamsnapEventForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(TeamsnapEventForm, self).__init__(*args, **kwargs)
if self.instance and self.instance.event_set.first():
initial = (self.instance.event_set.first().id, self.instance.event_set.first())
else:
initial = None
self.fields = {}
choices = [("","-----")]
choices += [(choice.id, choice) for choice in TeamsnapEvent.objects.all()]
self.fields['teamsnap event'] = forms.MultipleChoiceField(
widget=forms.Select(attrs={'class': 'form-control'}),
choices=choices,
initial=initial
)
class Meta:
model = Event
fields = ['start', 'home_team', 'away_team', 'venue']

View File

@@ -1,6 +1,6 @@
from django.shortcuts import render, redirect, get_object_or_404
from .models import Positioning
from .forms import PositioningFormSet
from .forms import PositioningFormSet, TeamsnapEventForm
from events.models import Event
from players.models import Player
from django.db.models import Case, When
@@ -88,20 +88,26 @@ def edit(request, event_id):
formset_dhd = [f for f in formset if not f.instance.order and f.instance.position]
formset_bench = [f for f in formset if f not in formset_lineup and f not in formset_dhd]
teamsnap_form = TeamsnapEventForm(instance=event)
details = {
"Away Team": event.away_team,
"Home Team": event.home_team,
"Date": event.start.date(),
"Time": event.start.time(),
"Venue": event.venue,
"TeamSnap": teamsnap_form
# "TeamSnap Link": event.event_set.first()
"TeamSnap Link": f'<a href="{reverse("teamsnap edit event", kwargs={"id": event.event_set.first().id})}"> {event.event_set.first()} </a>' if event.event_set.first() else None
# "TeamSnap Link": f'<a href="{reverse("teamsnap edit event", kwargs={"id": event.event_set.first().id})}"> {event.event_set.first()} </a>' if event.event_set.first() else None
}
return render(request, 'lineups/lineup.html', {'title': 'Lineup',
'event': event,
'details':details,
'previous_event': previous_event,
'teamsnap_form': teamsnap_form,
'next_event': next_event,
'formset': formset,
'formset_lineup':formset_lineup,