kopia lustrzana https://github.com/wagtail/wagtail
Nicer labels for object type dropdown
rodzic
b24a8203c9
commit
c4a977eab4
|
@ -99,3 +99,21 @@ class WagtailFilterSet(django_filters.FilterSet):
|
|||
params.setdefault('widget', BooleanButtonSelect)
|
||||
|
||||
return filter_class, params
|
||||
|
||||
|
||||
class ContentTypeModelChoiceField(django_filters.fields.ModelChoiceField):
|
||||
"""
|
||||
Custom ModelChoiceField for ContentType, to show the model verbose name as the label rather
|
||||
than the default 'wagtailcore | page' representation of a ContentType
|
||||
"""
|
||||
def label_from_instance(self, obj):
|
||||
model = obj.model_class()
|
||||
if model:
|
||||
return model._meta.verbose_name.capitalize()
|
||||
else:
|
||||
# no corresponding model class found; fall back on the name field of the ContentType
|
||||
return obj.model
|
||||
|
||||
|
||||
class ContentTypeFilter(django_filters.ModelChoiceFilter):
|
||||
field_class = ContentTypeModelChoiceField
|
||||
|
|
|
@ -11,7 +11,7 @@ from django.db.models import IntegerField, Value
|
|||
from django.utils.encoding import force_str
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from wagtail.admin.filters import DateRangePickerWidget, WagtailFilterSet
|
||||
from wagtail.admin.filters import ContentTypeFilter, DateRangePickerWidget, WagtailFilterSet
|
||||
from wagtail.core.log_actions import registry as log_action_registry
|
||||
from wagtail.core.models import PageLogEntry
|
||||
|
||||
|
@ -47,7 +47,7 @@ class SiteHistoryReportFilterSet(WagtailFilterSet):
|
|||
user = django_filters.ModelChoiceFilter(
|
||||
field_name='user', queryset=lambda request: get_users_for_filter()
|
||||
)
|
||||
object_type = django_filters.ModelChoiceFilter(
|
||||
object_type = ContentTypeFilter(
|
||||
label=_('Object type'),
|
||||
field_name='content_type', queryset=lambda request: get_content_types_for_filter()
|
||||
)
|
||||
|
|
Ładowanie…
Reference in New Issue