24 lines
620 B
Python
24 lines
620 B
Python
from django import forms
|
|
|
|
from symposion.schedule.models import Slot, Presentation
|
|
|
|
|
|
class SlotEditForm(forms.Form):
|
|
|
|
presentation = forms.ModelChoiceField(
|
|
queryset=Presentation.objects.filter(slot__isnull=True),
|
|
required=True,
|
|
)
|
|
slot_pk = forms.CharField(
|
|
max_length=10,
|
|
widget=forms.HiddenInput,
|
|
required=False,
|
|
)
|
|
|
|
def clean_slot_pk(self):
|
|
value = self.cleaned_data["slot_pk"]
|
|
try:
|
|
Slot.objects.get(pk=value)
|
|
except Slot.DoesNotExist:
|
|
raise forms.ValidationError("Invalid slot.")
|
|
return value
|