From a0ff872429a0a61239b78ecd9ed80bb3b12bae98 Mon Sep 17 00:00:00 2001 From: Gareth Coles Date: Fri, 12 Apr 2019 16:00:03 +0100 Subject: Mostly-working model choice stuff --- pydis_site/apps/home/templatetags/wiki_extra.py | 13 +++++++ .../templates/wiki/forms/fields/model_choice.html | 42 ++++++++++++++++++++-- pydis_site/templates/wiki/settings.html | 17 +++++---- 3 files changed, 63 insertions(+), 9 deletions(-) (limited to 'pydis_site') diff --git a/pydis_site/apps/home/templatetags/wiki_extra.py b/pydis_site/apps/home/templatetags/wiki_extra.py index 03ca8210..6d693b96 100644 --- a/pydis_site/apps/home/templatetags/wiki_extra.py +++ b/pydis_site/apps/home/templatetags/wiki_extra.py @@ -75,3 +75,16 @@ def render_field(field: Field): context = {"field": field, "is_markitup": is_markitup} return mark_safe(template_obj.render(context)) + + +@register.simple_tag(takes_context=True) +def get_field_options(context, field: BoundField): + widget = field.field.widget + + if field.value() is None: + value = [] + else: + value = [str(field.value())] + + context["options"] = widget.optgroups(field.name, value) + return "" diff --git a/pydis_site/templates/wiki/forms/fields/model_choice.html b/pydis_site/templates/wiki/forms/fields/model_choice.html index f1104b98..c6cd53ab 100644 --- a/pydis_site/templates/wiki/forms/fields/model_choice.html +++ b/pydis_site/templates/wiki/forms/fields/model_choice.html @@ -1,8 +1,10 @@ +{% load wiki_extra %} +
{% if field.label %} {% endif %} @@ -16,7 +18,43 @@
- {{ field }} +
+ {% get_field_options field %} + + +
+
{% if field.errors %} diff --git a/pydis_site/templates/wiki/settings.html b/pydis_site/templates/wiki/settings.html index 6d6c0f49..3e8c8dab 100644 --- a/pydis_site/templates/wiki/settings.html +++ b/pydis_site/templates/wiki/settings.html @@ -7,15 +7,18 @@ {% block wiki_contents_tab %} {% for form in forms %} -
+ {% wiki_form form %} -
-
- + +
+
+ {# Empty for spacing #} +
+
+
+ +
-- cgit v1.2.3