From fb9952e7aa7daedb7c55e2a79b04f666d85b6499 Mon Sep 17 00:00:00 2001 From: Ross Date: Mon, 16 Feb 2026 10:54:39 +0000 Subject: [PATCH] Replace FilteredSelectMultiple with ExamSearchWidget for exams field in multiple forms --- longs/forms.py | 3 ++- rapids/forms.py | 3 ++- sbas/forms.py | 3 ++- shorts/forms.py | 3 ++- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/longs/forms.py b/longs/forms.py index f885538c..e9f48e03 100755 --- a/longs/forms.py +++ b/longs/forms.py @@ -34,6 +34,7 @@ from django.contrib.admin.widgets import FilteredSelectMultiple from django.forms.widgets import RadioSelect, TextInput, Textarea from tinymce.widgets import TinyMCE +from generic.widgets import ExamSearchWidget class LongAnswerForm(ModelForm): @@ -197,7 +198,7 @@ class LongForm(ModelForm): self.fields["exams"] = ModelMultipleChoiceField( required=False, queryset=exam_queryset, - widget=FilteredSelectMultiple(verbose_name="Exams", is_stacked=False), + widget=ExamSearchWidget(exam_model=Exam), ) class Meta: diff --git a/rapids/forms.py b/rapids/forms.py index 4bc9c27c..5e09dc12 100755 --- a/rapids/forms.py +++ b/rapids/forms.py @@ -24,6 +24,7 @@ from rapids.models import ( from django.contrib.admin.widgets import FilteredSelectMultiple from django.forms.widgets import RadioSelect, TextInput, Textarea from django.contrib.auth.models import User +from generic.widgets import ExamSearchWidget from crispy_forms.helper import FormHelper from crispy_forms.layout import Submit, Layout, Div, Field, HTML @@ -160,7 +161,7 @@ class RapidForm(ModelForm): self.fields["exams"] = ModelMultipleChoiceField( required=False, queryset=exam_queryset.distinct(), - widget=FilteredSelectMultiple(verbose_name="Exams", is_stacked=False), + widget=ExamSearchWidget(exam_model=Exam), ) self.fields["exams"].label = "" diff --git a/sbas/forms.py b/sbas/forms.py index 40302d46..859b9e46 100755 --- a/sbas/forms.py +++ b/sbas/forms.py @@ -27,6 +27,7 @@ import re from dal import autocomplete from crispy_forms.helper import FormHelper from crispy_forms.layout import Layout, Fieldset, Row, Column, Submit +from generic.widgets import ExamSearchWidget class UserAnswerForm(ModelForm): @@ -105,7 +106,7 @@ class QuestionForm(ModelForm): self.fields["exams"] = ModelMultipleChoiceField( required=False, queryset=exam_queryset, - widget=FilteredSelectMultiple(verbose_name="Exams", is_stacked=False), + widget=ExamSearchWidget(exam_model=Exam), ) # Crispy Forms helper and layout diff --git a/shorts/forms.py b/shorts/forms.py index 75f7ea05..a3b52c94 100644 --- a/shorts/forms.py +++ b/shorts/forms.py @@ -34,6 +34,7 @@ from crispy_forms.bootstrap import InlineRadios from dal import autocomplete from autocomplete import widgets as htmx_widgets, Autocomplete, AutocompleteWidget, ModelAutocomplete, register as autocomplete_register +from generic.widgets import ExamSearchWidget class QuestionSampleAnswerForm(ModelForm): @@ -116,7 +117,7 @@ class QuestionForm(ModelForm): self.fields["exams"] = ModelMultipleChoiceField( required=False, queryset=exam_queryset.distinct(), - widget=FilteredSelectMultiple(verbose_name="Exams", is_stacked=False), + widget=ExamSearchWidget(exam_model=Exam), ) self.fields["exams"].label = ""