47 lines
1.5 KiB
Python
47 lines
1.5 KiB
Python
from django.utils.translation import gettext_lazy as _
|
|
from wagtail.admin.ui.tables import Column, DateColumn
|
|
from wagtail.admin.ui.tables.pages import PageStatusColumn, PageTitleColumn
|
|
from wagtail.admin.viewsets.pages import PageListingViewSet
|
|
|
|
from associations.models import AssociationPage
|
|
from dnscms.admin import ListingRedirectChooseParentView
|
|
|
|
|
|
class AssociationTypeColumn(Column):
|
|
def get_value(self, instance):
|
|
return instance.get_association_type_display()
|
|
|
|
|
|
class AssociationChooseParentView(ListingRedirectChooseParentView):
|
|
listing_url_name = "associations:index"
|
|
|
|
|
|
class AssociationPageListingViewSet(PageListingViewSet):
|
|
model = AssociationPage
|
|
choose_parent_view_class = AssociationChooseParentView
|
|
icon = "group"
|
|
menu_label = _("Associations")
|
|
menu_order = 2
|
|
add_to_admin_menu = True
|
|
ordering = "title"
|
|
|
|
columns = [
|
|
PageTitleColumn("title", label=_("Title"), sort_key="title", classname="title"),
|
|
AssociationTypeColumn(
|
|
"association_type",
|
|
label=_("Type"),
|
|
sort_key="association_type",
|
|
width="15%",
|
|
),
|
|
DateColumn(
|
|
"latest_revision_created_at",
|
|
label=_("Updated"),
|
|
sort_key="latest_revision_created_at",
|
|
width="10%",
|
|
),
|
|
PageStatusColumn("status", label=_("Status"), sort_key="live", width="10%"),
|
|
]
|
|
|
|
|
|
association_page_listing_viewset = AssociationPageListingViewSet("associations")
|