From a05ff5e5983632809518995b7b50b985845fba88 Mon Sep 17 00:00:00 2001 From: Diego Medina Date: Mon, 18 Apr 2022 19:41:07 -0400 Subject: [PATCH] fix: alert/report created by filter inconsistency with table display (#19518) * fix: alert/report created by filter inconsistency with table display * Match column order to dashboard list --- .../src/views/CRUD/alert/AlertList.tsx | 30 ++++++++++++++++--- superset/reports/api.py | 2 ++ 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/superset-frontend/src/views/CRUD/alert/AlertList.tsx b/superset-frontend/src/views/CRUD/alert/AlertList.tsx index f0f9d7423..66fc01092 100644 --- a/superset-frontend/src/views/CRUD/alert/AlertList.tsx +++ b/superset-frontend/src/views/CRUD/alert/AlertList.tsx @@ -89,7 +89,7 @@ function AlertList({ const title = isReportEnabled ? t('report') : t('alert'); const titlePlural = isReportEnabled ? t('reports') : t('alerts'); const pathName = isReportEnabled ? 'Reports' : 'Alerts'; - const initalFilters = useMemo( + const initialFilters = useMemo( () => [ { id: 'type', @@ -117,7 +117,7 @@ function AlertList({ addDangerToast, true, undefined, - initalFilters, + initialFilters, ); const { updateResource } = useSingleViewResource>( @@ -261,9 +261,15 @@ function AlertList({ size: 'xl', }, { - accessor: 'created_by', + Cell: ({ + row: { + original: { created_by }, + }, + }: any) => + created_by ? `${created_by.first_name} ${created_by.last_name}` : '', + Header: t('Created by'), + id: 'created_by', disableSortBy: true, - hidden: true, size: 'xl', }, { @@ -378,6 +384,22 @@ function AlertList({ const filters: Filters = useMemo( () => [ + { + Header: t('Owner'), + id: 'owners', + input: 'select', + operator: FilterOperator.relationManyMany, + unfilteredLabel: 'All', + fetchSelects: createFetchRelated( + 'report', + 'owners', + createErrorHandler(errMsg => + t('An error occurred while fetching owners values: %s', errMsg), + ), + user, + ), + paginate: true, + }, { Header: t('Created by'), id: 'created_by', diff --git a/superset/reports/api.py b/superset/reports/api.py index e0d259824..2871125c9 100644 --- a/superset/reports/api.py +++ b/superset/reports/api.py @@ -189,6 +189,7 @@ class ReportScheduleRestApi(BaseSupersetModelRestApi): "name", "active", "created_by", + "owners", "type", "last_state", "creation_method", @@ -212,6 +213,7 @@ class ReportScheduleRestApi(BaseSupersetModelRestApi): "chart": "slice_name", "database": "database_name", "created_by": RelatedFieldFilter("first_name", FilterRelatedOwners), + "owners": RelatedFieldFilter("first_name", FilterRelatedOwners), } apispec_parameter_schemas = {