diff --git a/wagtail/admin/templates/wagtailadmin/generic/index.html b/wagtail/admin/templates/wagtailadmin/generic/index.html index 9b5ad73e8b..af3b9ddfd2 100644 --- a/wagtail/admin/templates/wagtailadmin/generic/index.html +++ b/wagtail/admin/templates/wagtailadmin/generic/index.html @@ -1,5 +1,5 @@ {% extends "wagtailadmin/base.html" %} -{% load i18n %} +{% load i18n wagtailadmin_tags %} {% block titletag %}{{ page_title }} {{ page_subtitle }}{% endblock %} @@ -12,5 +12,8 @@ {% endif %} {% block listing %} +
+ {% component table %} +
{% endblock %} {% endblock %} diff --git a/wagtail/admin/views/generic/models.py b/wagtail/admin/views/generic/models.py index b8978bef6a..577c0a09d8 100644 --- a/wagtail/admin/views/generic/models.py +++ b/wagtail/admin/views/generic/models.py @@ -8,6 +8,7 @@ from django.views.generic.edit import BaseCreateView, BaseDeleteView, BaseUpdate from django.views.generic.list import BaseListView from wagtail.admin import messages +from wagtail.admin.ui.tables import Table, TitleColumn from wagtail.core.log_actions import log from .base import WagtailAdminTemplateMixin @@ -19,15 +20,25 @@ class IndexView(PermissionCheckedMixin, WagtailAdminTemplateMixin, BaseListView) index_url_name = None add_url_name = None edit_url_name = None + template_name = 'wagtailadmin/generic/index.html' context_object_name = None any_permission_required = ['add', 'change', 'delete'] + def get_columns(self): + try: + return self.columns + except AttributeError: + return [ + TitleColumn('name', accessor=str, url_name=self.edit_url_name), + ] + def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context['can_add'] = ( self.permission_policy is None or self.permission_policy.user_has_permission(self.request.user, 'add') ) + context['table'] = Table(self.get_columns(), context['object_list']) return context