Files
benchcoach-django/benchcoach/forms.py

60 lines
1.9 KiB
Python

from django import forms
from .models import Event, Positioning, Team, Venue, Player
from teamsnap.models import Event as TeamsnapEvent
from django.forms import modelformset_factory
class EventForm(forms.ModelForm):
class Meta:
model = Event
fields = ['start', 'home_team', 'away_team', 'venue']
class PositioningForm(forms.ModelForm):
availability = None
class Meta:
model = Positioning
widgets = {
'position': forms.Select(attrs={'class': 'form-control form-control-sm', 'onchange':'positionSelectChanged(this)'})
}
exclude = ()
PositioningFormSet = modelformset_factory(
model=Positioning,
form=PositioningForm,
# 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.teamsnap_event.first():
initial = (self.instance.teamsnap_event.first().id, self.instance.teamsnap_event.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']
class PlayerForm(forms.ModelForm):
class Meta:
model = Player
fields = ['first_name', 'last_name', 'jersey_number', 'team']
class TeamForm(forms.ModelForm):
class Meta:
model = Team
fields = ['name']
class VenueForm(forms.ModelForm):
class Meta:
model = Venue
fields = ['name']