from django.utils.translation import gettext_lazy as _ from wagtail.admin.ui.tables import DateColumn from wagtail.admin.ui.tables.pages import PageStatusColumn, PageTitleColumn from wagtail.admin.viewsets.pages import PageListingViewSet from dnscms.admin import ListingRedirectChooseParentView from news.models import NewsPage class NewsChooseParentView(ListingRedirectChooseParentView): listing_url_name = "news:index" class NewsPageListingViewSet(PageListingViewSet): model = NewsPage choose_parent_view_class = NewsChooseParentView icon = "info-circle" menu_label = _("News") menu_order = 3 add_to_admin_menu = True ordering = "-latest_revision_created_at" columns = [ PageTitleColumn("title", label=_("Title"), sort_key="title", classname="title"), DateColumn( "latest_revision_created_at", label=_("Updated"), sort_key="latest_revision_created_at", width="10%", ), PageStatusColumn("status", label=_("Status"), sort_key="live", width="10%"), ] news_page_listing_viewset = NewsPageListingViewSet("news")