kopia lustrzana https://github.com/wagtail/wagtail
Add a LocaleColumn
rodzic
a2323d5662
commit
cbeb97ad3b
|
@ -13,7 +13,8 @@ from django.utils.text import capfirst
|
||||||
from django.utils.translation import gettext, gettext_lazy
|
from django.utils.translation import gettext, gettext_lazy
|
||||||
|
|
||||||
from wagtail.admin.ui.components import Component
|
from wagtail.admin.ui.components import Component
|
||||||
from wagtail.coreutils import multigetattr
|
from wagtail.coreutils import get_locales_display_names, multigetattr
|
||||||
|
from wagtail.models import Locale
|
||||||
|
|
||||||
|
|
||||||
class BaseColumn(metaclass=MediaDefiningClass):
|
class BaseColumn(metaclass=MediaDefiningClass):
|
||||||
|
@ -305,6 +306,29 @@ class LiveStatusTagColumn(StatusTagColumn):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class LocaleColumn(StatusTagColumn):
|
||||||
|
"""Represents a Locale tag."""
|
||||||
|
|
||||||
|
def __init__(self, **kwargs):
|
||||||
|
super().__init__(
|
||||||
|
"locale_id",
|
||||||
|
label=kwargs.pop("label", gettext("Locale")),
|
||||||
|
sort_key=kwargs.pop("sort_key", "locale"),
|
||||||
|
primary=False,
|
||||||
|
**kwargs,
|
||||||
|
)
|
||||||
|
|
||||||
|
def get_cell_context_data(self, instance, parent_context):
|
||||||
|
context = super().get_cell_context_data(instance, parent_context)
|
||||||
|
value = self.get_value(instance)
|
||||||
|
if isinstance(value, int):
|
||||||
|
value = get_locales_display_names().get(value)
|
||||||
|
elif isinstance(value, Locale):
|
||||||
|
value = value.get_display_name()
|
||||||
|
context["value"] = value
|
||||||
|
return context
|
||||||
|
|
||||||
|
|
||||||
class DateColumn(Column):
|
class DateColumn(Column):
|
||||||
"""Outputs a date in human-readable format"""
|
"""Outputs a date in human-readable format"""
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue