kopia lustrzana https://github.com/wagtail/wagtail
Improve translatability of range filter value labels
rodzic
028997b4e9
commit
0fbb021271
|
@ -5,6 +5,8 @@ from django.core.exceptions import ImproperlyConfigured
|
||||||
from django.forms import BoundField, ModelChoiceField
|
from django.forms import BoundField, ModelChoiceField
|
||||||
from django.http import QueryDict
|
from django.http import QueryDict
|
||||||
from django.utils.formats import date_format
|
from django.utils.formats import date_format
|
||||||
|
from django.utils.translation import gettext as _
|
||||||
|
from django.utils.translation import gettext_lazy
|
||||||
|
|
||||||
from wagtail.utils.registry import ObjectTypeRegistry
|
from wagtail.utils.registry import ObjectTypeRegistry
|
||||||
from wagtail.utils.utils import flatten_choices
|
from wagtail.utils.utils import flatten_choices
|
||||||
|
@ -124,8 +126,12 @@ class ModelMultipleChoiceFilterAdapter(BaseFilterAdapter):
|
||||||
|
|
||||||
|
|
||||||
class RangeFilterAdapter(BaseFilterAdapter):
|
class RangeFilterAdapter(BaseFilterAdapter):
|
||||||
|
# Translators: A placeholder for a range filter value that has not been set,
|
||||||
|
# e.g. Some number: any - 1000
|
||||||
|
empty_value_label = gettext_lazy("any")
|
||||||
|
|
||||||
def format_value(self, value):
|
def format_value(self, value):
|
||||||
return str(value) if value is not None else ""
|
return str(value) if value is not None else self.empty_value_label
|
||||||
|
|
||||||
def get_active_filters(self):
|
def get_active_filters(self):
|
||||||
start_value_display = self.format_value(self.value.start)
|
start_value_display = self.format_value(self.value.start)
|
||||||
|
@ -135,7 +141,13 @@ class RangeFilterAdapter(BaseFilterAdapter):
|
||||||
ActiveFilter(
|
ActiveFilter(
|
||||||
self.bound_field.auto_id,
|
self.bound_field.auto_id,
|
||||||
self.filter.label,
|
self.filter.label,
|
||||||
f"{start_value_display} - {end_value_display}",
|
# Translators: A label for a range filter value,
|
||||||
|
# e.g. Some number: 0 - 1000
|
||||||
|
_("%(range_start)s - %(range_end)s")
|
||||||
|
% {
|
||||||
|
"range_start": start_value_display,
|
||||||
|
"range_end": end_value_display,
|
||||||
|
},
|
||||||
self.get_url_without_filter_param(
|
self.get_url_without_filter_param(
|
||||||
[widget.suffixed(self.name, suffix) for suffix in widget.suffixes]
|
[widget.suffixed(self.name, suffix) for suffix in widget.suffixes]
|
||||||
),
|
),
|
||||||
|
@ -145,7 +157,7 @@ class RangeFilterAdapter(BaseFilterAdapter):
|
||||||
|
|
||||||
class DateFromToRangeFilterAdapter(RangeFilterAdapter):
|
class DateFromToRangeFilterAdapter(RangeFilterAdapter):
|
||||||
def format_value(self, value):
|
def format_value(self, value):
|
||||||
return date_format(value) if value is not None else ""
|
return date_format(value) if value is not None else self.empty_value_label
|
||||||
|
|
||||||
|
|
||||||
filter_adapter_class_registry = ObjectTypeRegistry()
|
filter_adapter_class_registry = ObjectTypeRegistry()
|
||||||
|
|
|
@ -718,7 +718,7 @@ class TestPageExplorer(WagtailTestUtils, TestCase):
|
||||||
self.assertEqual(page_ids, {self.new_page.id, new_page_child.id})
|
self.assertEqual(page_ids, {self.new_page.id, new_page_child.id})
|
||||||
self.assertContainsActiveFilter(
|
self.assertContainsActiveFilter(
|
||||||
response,
|
response,
|
||||||
"Date updated: Jan. 1, 2015 -",
|
"Date updated: Jan. 1, 2015 - any",
|
||||||
"latest_revision_created_at_from=2015-01-01",
|
"latest_revision_created_at_from=2015-01-01",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue