44 lines
1.5 KiB
Python
44 lines
1.5 KiB
Python
from django import forms
|
|
from .models import Positioning
|
|
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
|
|
class Meta:
|
|
model = Positioning
|
|
widgets = {
|
|
'position': forms.Select(attrs={'class': 'form-control form-control-sm'})
|
|
}
|
|
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'] |