diff --git a/proposals/forms.py b/proposals/forms.py index 0d90a0e..ae52684 100644 --- a/proposals/forms.py +++ b/proposals/forms.py @@ -55,6 +55,7 @@ class TalkFilterForm(forms.Form): widget=forms.CheckboxSelectMultiple, choices=[], ) + def __init__(self, *args, **kwargs): site = kwargs.pop('site') super().__init__(*args, **kwargs) @@ -65,6 +66,11 @@ class TalkFilterForm(forms.Form): class SpeakerFilterForm(forms.Form): + topic = forms.MultipleChoiceField( + required=False, + widget=forms.CheckboxSelectMultiple, + choices=[], + ) transport = forms.MultipleChoiceField( required=False, widget=forms.CheckboxSelectMultiple, @@ -79,8 +85,12 @@ class SpeakerFilterForm(forms.Form): ], ) sound = forms.NullBooleanField() + def __init__(self, *args, **kwargs): + site = kwargs.pop('site') super().__init__(*args, **kwargs) + topics = Topic.objects.filter(site=site) + self.fields['topic'].choices = topics.values_list('slug', 'name') class TopicCreateForm(forms.ModelForm): diff --git a/proposals/templates/proposals/speaker_list.html b/proposals/templates/proposals/speaker_list.html index 91172ee..ed46a8c 100644 --- a/proposals/templates/proposals/speaker_list.html +++ b/proposals/templates/proposals/speaker_list.html @@ -21,9 +21,10 @@