Replace FilteredSelectMultiple with ExamSearchWidget for exams field in multiple forms

This commit is contained in:
Ross
2026-02-16 10:54:39 +00:00
parent ed1a33ac89
commit fb9952e7aa
4 changed files with 8 additions and 4 deletions
+2 -1
View File
@@ -34,6 +34,7 @@ from django.contrib.admin.widgets import FilteredSelectMultiple
from django.forms.widgets import RadioSelect, TextInput, Textarea from django.forms.widgets import RadioSelect, TextInput, Textarea
from tinymce.widgets import TinyMCE from tinymce.widgets import TinyMCE
from generic.widgets import ExamSearchWidget
class LongAnswerForm(ModelForm): class LongAnswerForm(ModelForm):
@@ -197,7 +198,7 @@ class LongForm(ModelForm):
self.fields["exams"] = ModelMultipleChoiceField( self.fields["exams"] = ModelMultipleChoiceField(
required=False, required=False,
queryset=exam_queryset, queryset=exam_queryset,
widget=FilteredSelectMultiple(verbose_name="Exams", is_stacked=False), widget=ExamSearchWidget(exam_model=Exam),
) )
class Meta: class Meta:
+2 -1
View File
@@ -24,6 +24,7 @@ from rapids.models import (
from django.contrib.admin.widgets import FilteredSelectMultiple from django.contrib.admin.widgets import FilteredSelectMultiple
from django.forms.widgets import RadioSelect, TextInput, Textarea from django.forms.widgets import RadioSelect, TextInput, Textarea
from django.contrib.auth.models import User from django.contrib.auth.models import User
from generic.widgets import ExamSearchWidget
from crispy_forms.helper import FormHelper from crispy_forms.helper import FormHelper
from crispy_forms.layout import Submit, Layout, Div, Field, HTML from crispy_forms.layout import Submit, Layout, Div, Field, HTML
@@ -160,7 +161,7 @@ class RapidForm(ModelForm):
self.fields["exams"] = ModelMultipleChoiceField( self.fields["exams"] = ModelMultipleChoiceField(
required=False, required=False,
queryset=exam_queryset.distinct(), queryset=exam_queryset.distinct(),
widget=FilteredSelectMultiple(verbose_name="Exams", is_stacked=False), widget=ExamSearchWidget(exam_model=Exam),
) )
self.fields["exams"].label = "" self.fields["exams"].label = ""
+2 -1
View File
@@ -27,6 +27,7 @@ import re
from dal import autocomplete from dal import autocomplete
from crispy_forms.helper import FormHelper from crispy_forms.helper import FormHelper
from crispy_forms.layout import Layout, Fieldset, Row, Column, Submit from crispy_forms.layout import Layout, Fieldset, Row, Column, Submit
from generic.widgets import ExamSearchWidget
class UserAnswerForm(ModelForm): class UserAnswerForm(ModelForm):
@@ -105,7 +106,7 @@ class QuestionForm(ModelForm):
self.fields["exams"] = ModelMultipleChoiceField( self.fields["exams"] = ModelMultipleChoiceField(
required=False, required=False,
queryset=exam_queryset, queryset=exam_queryset,
widget=FilteredSelectMultiple(verbose_name="Exams", is_stacked=False), widget=ExamSearchWidget(exam_model=Exam),
) )
# Crispy Forms helper and layout # Crispy Forms helper and layout
+2 -1
View File
@@ -34,6 +34,7 @@ from crispy_forms.bootstrap import InlineRadios
from dal import autocomplete from dal import autocomplete
from autocomplete import widgets as htmx_widgets, Autocomplete, AutocompleteWidget, ModelAutocomplete, register as autocomplete_register from autocomplete import widgets as htmx_widgets, Autocomplete, AutocompleteWidget, ModelAutocomplete, register as autocomplete_register
from generic.widgets import ExamSearchWidget
class QuestionSampleAnswerForm(ModelForm): class QuestionSampleAnswerForm(ModelForm):
@@ -116,7 +117,7 @@ class QuestionForm(ModelForm):
self.fields["exams"] = ModelMultipleChoiceField( self.fields["exams"] = ModelMultipleChoiceField(
required=False, required=False,
queryset=exam_queryset.distinct(), queryset=exam_queryset.distinct(),
widget=FilteredSelectMultiple(verbose_name="Exams", is_stacked=False), widget=ExamSearchWidget(exam_model=Exam),
) )
self.fields["exams"].label = "" self.fields["exams"].label = ""