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 e8fb9556f7 (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.
This commit is contained in:
Klaas van Schelven
2025-11-24 21:24:44 +01:00
parent bddc2e8f64
commit 9b2acddf20
3 changed files with 13 additions and 2 deletions

View File

@@ -1,6 +1,7 @@
import os import os
import stat import stat
import logging import logging
from django.template.defaultfilters import yesno as broken_yesno
from .future_python import makedirs from .future_python import makedirs
@@ -100,3 +101,13 @@ def b108_makedirs(path):
break break
current = parent 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

View File

@@ -1,12 +1,12 @@
from django import forms from django import forms
from django.contrib.auth import get_user_model from django.contrib.auth import get_user_model
from django.template.defaultfilters import yesno
from django.urls import reverse from django.urls import reverse
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from django.utils.html import format_html from django.utils.html import format_html
from bugsink.utils import assert_ from bugsink.utils import assert_
from teams.models import TeamMembership from teams.models import TeamMembership
from bsmain.utils import yesno
from .models import Project, ProjectMembership, ProjectRole from .models import Project, ProjectMembership, ProjectRole

View File

@@ -1,9 +1,9 @@
from django import forms from django import forms
from django.contrib.auth import get_user_model from django.contrib.auth import get_user_model
from django.template.defaultfilters import yesno
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from bugsink.utils import assert_ from bugsink.utils import assert_
from bsmain.utils import yesno
from .models import TeamRole, TeamMembership, Team from .models import TeamRole, TeamMembership, Team
User = get_user_model() User = get_user_model()