From b665d4ed454acbcace0a1cad8ef54eb3b957a319 Mon Sep 17 00:00:00 2001 From: mariusrklein <47218379+mariusrklein@users.noreply.github.com> Date: Sun, 19 Jan 2025 14:30:07 +0100 Subject: [PATCH] abstract true/false renderings --- .../templates/admin/submit_statement.html | 4 ++-- .../admin/freizeit_finance_overview.html | 4 ++-- .../members/templatetags/overview_extras.py | 17 +++++++++++++++++ 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/jdav_web/finance/templates/admin/submit_statement.html b/jdav_web/finance/templates/admin/submit_statement.html index 7f58deb..01bfe8a 100644 --- a/jdav_web/finance/templates/admin/submit_statement.html +++ b/jdav_web/finance/templates/admin/submit_statement.html @@ -1,5 +1,6 @@ {% extends "admin/base_site.html" %} {% load i18n admin_urls static %} +{% load overview_extras %} {% block extrahead %} {{ block.super }} @@ -47,8 +48,7 @@ {{ bill.paid_by.name }} - - {% if not bill.paid_by.iban_valid %} {% trans "Change here" %} {% endif %} + {{ bill.paid_by.iban_valid|render_bool }} {% endfor %} diff --git a/jdav_web/members/templates/admin/freizeit_finance_overview.html b/jdav_web/members/templates/admin/freizeit_finance_overview.html index b087ae0..81d0b57 100644 --- a/jdav_web/members/templates/admin/freizeit_finance_overview.html +++ b/jdav_web/members/templates/admin/freizeit_finance_overview.html @@ -1,5 +1,6 @@ {% extends "admin/base_site.html" %} {% load i18n admin_urls static %} +{% load overview_extras %} {% block extrahead %} {{ block.super }} @@ -56,8 +57,7 @@ cost plan! {{ bill.paid_by.name }} - - {% if not bill.paid_by.iban_valid %} {% trans "Change here" %} {% endif %} + {{ bill.paid_by.iban_valid|render_bool }} {% endfor %} diff --git a/jdav_web/members/templatetags/overview_extras.py b/jdav_web/members/templatetags/overview_extras.py index 5127167..95d11a4 100644 --- a/jdav_web/members/templatetags/overview_extras.py +++ b/jdav_web/members/templatetags/overview_extras.py @@ -1,4 +1,5 @@ from django import template +from django.utils.html import format_html register = template.Library() @@ -15,3 +16,19 @@ def has_attendee_wrapper(klettertreff, member): @register.simple_tag def has_jugendleiter_wrapper(klettertreff, jugendleiter): return blToColor(klettertreff.has_jugendleiter(jugendleiter)) + +@register.filter +def render_bool(boolean_value): + + if not isinstance(boolean_value, bool): + raise ValueError(f"""Custom Filter 'render_bool': Supplied value '{boolean_value}' is not bool, but {type(boolean_value)}.""") + + if boolean_value: # True is a green tick + color = "#bcd386" + htmlclass = "icon-tick" + else: # False is a red cross + color = "#dba4a4" + htmlclass = "icon-cross" + + return format_html(f"""""") \ No newline at end of file