diff --git a/src/core/forms.py b/src/core/forms.py index 278aa565..f4cd2929 100644 --- a/src/core/forms.py +++ b/src/core/forms.py @@ -1,30 +1,8 @@ from django import forms -from django.utils.safestring import mark_safe from .models import Exhibit -class ListTextWidget(forms.TextInput): - def __init__(self, *args, **kwargs): - super(ListTextWidget, self).__init__(*args, **kwargs) - self._name = "exhibit-list" - self._list = Exhibit.objects.all().order_by("name") - self.attrs.update({"list": f"list__{self._name}"}) - - def render(self, name, value, attrs=None, renderer=None): - text_html = super(ListTextWidget, self).render(name, value, attrs=attrs) - data_list = f'' - for item in self._list: - data_list += f'' - data_list += "" - return mark_safe(text_html + data_list) - - class ExhibitForm(forms.Form): - exhibit = forms.CharField(required=True) - - def __init__(self, *args, **kwargs): - super(ExhibitForm, self).__init__(*args, **kwargs) - self.fields["exhibit"].widget = ListTextWidget() - self.fields["exhibit"].label = "" + exhibit = forms.ModelChoiceField(queryset=Exhibit.objects.all().order_by("name")) diff --git a/src/core/jinja2/core/exhibit_select.jinja2 b/src/core/jinja2/core/exhibit_select.jinja2 index 08c31ef7..b0270085 100644 --- a/src/core/jinja2/core/exhibit_select.jinja2 +++ b/src/core/jinja2/core/exhibit_select.jinja2 @@ -14,9 +14,17 @@

{{_("Choose the Exhibition you're seeing")}}

-
+
+ +
+ {{ csrf_input }} - {{ form }} + {% for field in form.visible_fields() %} +

+ {{ field }} + {{ field.errors }} +

+ {% endfor %}
@@ -24,6 +32,22 @@