From 9b2acddf206b32ca863f7d50b56a61e004ee0f6a Mon Sep 17 00:00:00 2001 From: Klaas van Schelven Date: Mon, 24 Nov 2025 21:24:44 +0100 Subject: [PATCH] yesno filter: just don't return None ever I had someone run into this on hosted Bugsink; couldn't reproduce it. Thought I fixed it in e8fb9556f723 (specific to the Chinese translation) but appararently there's other ways to reach this point. No matter, just create a version of the yesno filter that's not sensitive to any future mistranslation. --- bsmain/utils.py | 11 +++++++++++ projects/forms.py | 2 +- teams/forms.py | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/bsmain/utils.py b/bsmain/utils.py index 4d63ae8..80207af 100644 --- a/bsmain/utils.py +++ b/bsmain/utils.py @@ -1,6 +1,7 @@ import os import stat import logging +from django.template.defaultfilters import yesno as broken_yesno from .future_python import makedirs @@ -100,3 +101,13 @@ def b108_makedirs(path): break current = parent + + +def yesno(value, arg=None): + """ + See https://code.djangoproject.com/ticket/36579 + """ + result = broken_yesno(value, arg) + if result is None: + return "Maybe" + return result diff --git a/projects/forms.py b/projects/forms.py index 2bc2861..9f8f37a 100644 --- a/projects/forms.py +++ b/projects/forms.py @@ -1,12 +1,12 @@ from django import forms from django.contrib.auth import get_user_model -from django.template.defaultfilters import yesno from django.urls import reverse from django.utils.translation import gettext_lazy as _ from django.utils.html import format_html from bugsink.utils import assert_ from teams.models import TeamMembership +from bsmain.utils import yesno from .models import Project, ProjectMembership, ProjectRole diff --git a/teams/forms.py b/teams/forms.py index dbf0bd3..8541397 100644 --- a/teams/forms.py +++ b/teams/forms.py @@ -1,9 +1,9 @@ from django import forms from django.contrib.auth import get_user_model -from django.template.defaultfilters import yesno from django.utils.translation import gettext_lazy as _ from bugsink.utils import assert_ +from bsmain.utils import yesno from .models import TeamRole, TeamMembership, Team User = get_user_model()