Implement filtering on workflow reports

pull/6257/head
Matt Westcott 2020-04-17 18:04:49 +01:00 zatwierdzone przez Matt Westcott
rodzic f46848e201
commit 3cb8b90a0d
2 zmienionych plików z 19 dodań i 2 usunięć

Wyświetl plik

@ -3,7 +3,7 @@ from django import forms
from django.utils.translation import gettext_lazy as _
from django_filters.widgets import SuffixedMultiWidget
from wagtail.core.models import Page
from wagtail.core.models import Page, TaskState, WorkflowState
from .widgets import AdminDateInput
@ -95,3 +95,17 @@ class LockedPagesReportFilterSet(WagtailFilterSet):
class Meta:
model = Page
fields = ['locked_by', 'locked_at', 'live']
class WorkflowReportFilterSet(WagtailFilterSet):
class Meta:
model = WorkflowState
fields = ['workflow', 'status']
class WorkflowTasksReportFilterSet(WagtailFilterSet):
class Meta:
model = TaskState
fields = ['task', 'status']

Wyświetl plik

@ -11,7 +11,8 @@ from django.views.generic.list import BaseListView
from xlsxwriter.workbook import Workbook
from wagtail.admin.auth import permission_denied
from wagtail.admin.filters import LockedPagesReportFilterSet
from wagtail.admin.filters import (
LockedPagesReportFilterSet, WorkflowReportFilterSet, WorkflowTasksReportFilterSet)
from wagtail.core.models import Page, TaskState, UserPagePermissionsProxy, WorkflowState
@ -277,6 +278,7 @@ class WorkflowView(ReportView):
template_name = 'wagtailadmin/reports/workflow.html'
title = _('Workflows')
header_icon = 'clipboard-list'
filterset_class = WorkflowReportFilterSet
export_headings = {
"page.id": _("Page ID"),
@ -309,6 +311,7 @@ class WorkflowTasksView(ReportView):
template_name = 'wagtailadmin/reports/workflow_tasks.html'
title = _('Workflows')
header_icon = 'clipboard-list'
filterset_class = WorkflowTasksReportFilterSet
export_headings = {
"workflow_state.page.id": _("Page ID"),