From 87b4fcb18b368bed21aa1499e7836b0f5f9afcfc Mon Sep 17 00:00:00 2001 From: Jon Herron Date: Tue, 15 Nov 2022 15:45:55 -0500 Subject: [PATCH 01/12] filters to_dict --- .../process_instance_report_service.py | 19 +++++ .../test_process_instance_report_service.py | 80 +++++++++++++++++++ 2 files changed, 99 insertions(+) diff --git a/spiffworkflow-backend/src/spiffworkflow_backend/services/process_instance_report_service.py b/spiffworkflow-backend/src/spiffworkflow_backend/services/process_instance_report_service.py index f997ef7e5..95ba93d70 100644 --- a/spiffworkflow-backend/src/spiffworkflow_backend/services/process_instance_report_service.py +++ b/spiffworkflow-backend/src/spiffworkflow_backend/services/process_instance_report_service.py @@ -18,6 +18,25 @@ class ProcessInstanceReportFilter: end_to: Optional[int] = None process_status: Optional[list[str]] = None + def to_dict(self) -> dict[str, str]: + """to_dict.""" + d = {} + + if self.process_model_identifier is not None: + d["process_model_identifier"] = self.process_model_identifier + if self.start_from is not None: + d["start_from"] = str(self.start_from) + if self.start_to is not None: + d["start_to"] = str(self.start_to) + if self.end_from is not None: + d["end_from"] = str(self.end_from) + if self.end_to is not None: + d["end_to"] = str(self.end_to) + if self.process_status is not None: + d["process_status"] = ",".join(self.process_status) + + return d + class ProcessInstanceReportService: """ProcessInstanceReportService.""" diff --git a/spiffworkflow-backend/tests/spiffworkflow_backend/unit/test_process_instance_report_service.py b/spiffworkflow-backend/tests/spiffworkflow_backend/unit/test_process_instance_report_service.py index 48fd52ba3..0e3227a1b 100644 --- a/spiffworkflow-backend/tests/spiffworkflow_backend/unit/test_process_instance_report_service.py +++ b/spiffworkflow-backend/tests/spiffworkflow_backend/unit/test_process_instance_report_service.py @@ -13,10 +13,90 @@ from spiffworkflow_backend.services.process_instance_report_service import ( ProcessInstanceReportFilter, ) from spiffworkflow_backend.services.process_instance_report_service import ( + ProcessInstanceReportFilter, ProcessInstanceReportService, ) +class TestProcessInstanceReportFilter(BaseTest): + """TestProcessInstanceReportFilter.""" + def test_empty_filter_to_dict( + self, + app: Flask, + client: FlaskClient, + with_db_and_bpmn_file_cleanup: None, + with_super_admin_user: UserModel, + ) -> None: + """Docstring.""" + d = ProcessInstanceReportFilter().to_dict() + + assert d == {} + + def test_string_value_filter_to_dict( + self, + app: Flask, + client: FlaskClient, + with_db_and_bpmn_file_cleanup: None, + with_super_admin_user: UserModel, + ) -> None: + """Docstring.""" + d = ProcessInstanceReportFilter( + process_model_identifier="bob" + ).to_dict() + + assert d == {"process_model_identifier": "bob"} + + def test_int_value_filter_to_dict( + self, + app: Flask, + client: FlaskClient, + with_db_and_bpmn_file_cleanup: None, + with_super_admin_user: UserModel, + ) -> None: + """Docstring.""" + d = ProcessInstanceReportFilter( + start_from=1, + start_to=2, + end_from=3, + end_to=4, + ).to_dict() + + assert d == { + "start_from": "1", + "start_to": "2", + "end_from": "3", + "end_to": "4", + } + + def test_list_single_value_filter_to_dict( + self, + app: Flask, + client: FlaskClient, + with_db_and_bpmn_file_cleanup: None, + with_super_admin_user: UserModel, + ) -> None: + """Docstring.""" + d = ProcessInstanceReportFilter( + process_status=["bob"] + ).to_dict() + + assert d == {"process_status": "bob"} + + def test_list_multiple_value_filter_to_dict( + self, + app: Flask, + client: FlaskClient, + with_db_and_bpmn_file_cleanup: None, + with_super_admin_user: UserModel, + ) -> None: + """Docstring.""" + d = ProcessInstanceReportFilter( + process_status=["joe", "bob", "sue"] + ).to_dict() + + assert d == {"process_status": "joe,bob,sue"} + + class TestProcessInstanceReportService(BaseTest): """TestProcessInstanceReportService.""" From 2818056a37d2798291ef7de473d976c88ae16845 Mon Sep 17 00:00:00 2001 From: Jon Herron Date: Tue, 15 Nov 2022 15:52:34 -0500 Subject: [PATCH 02/12] Send filters back to client --- .../src/spiffworkflow_backend/routes/process_api_blueprint.py | 1 + 1 file changed, 1 insertion(+) diff --git a/spiffworkflow-backend/src/spiffworkflow_backend/routes/process_api_blueprint.py b/spiffworkflow-backend/src/spiffworkflow_backend/routes/process_api_blueprint.py index 789047cf7..8c7645f64 100644 --- a/spiffworkflow-backend/src/spiffworkflow_backend/routes/process_api_blueprint.py +++ b/spiffworkflow-backend/src/spiffworkflow_backend/routes/process_api_blueprint.py @@ -805,6 +805,7 @@ def process_instance_list( response_json = { "report_metadata": report_metadata, "results": results, + "filters": report_filter.to_dict(), "pagination": { "count": len(results), "total": process_instances.total, From 354645a1dc3b66b40f93a5b542fed1835d8b69b5 Mon Sep 17 00:00:00 2001 From: Jon Herron Date: Tue, 15 Nov 2022 15:56:12 -0500 Subject: [PATCH 03/12] Getting ./bin/pyl to pass --- .../services/process_instance_report_service.py | 2 +- .../unit/test_process_instance_report_service.py | 14 ++++---------- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/spiffworkflow-backend/src/spiffworkflow_backend/services/process_instance_report_service.py b/spiffworkflow-backend/src/spiffworkflow_backend/services/process_instance_report_service.py index 95ba93d70..e90120d86 100644 --- a/spiffworkflow-backend/src/spiffworkflow_backend/services/process_instance_report_service.py +++ b/spiffworkflow-backend/src/spiffworkflow_backend/services/process_instance_report_service.py @@ -19,7 +19,7 @@ class ProcessInstanceReportFilter: process_status: Optional[list[str]] = None def to_dict(self) -> dict[str, str]: - """to_dict.""" + """To_dict.""" d = {} if self.process_model_identifier is not None: diff --git a/spiffworkflow-backend/tests/spiffworkflow_backend/unit/test_process_instance_report_service.py b/spiffworkflow-backend/tests/spiffworkflow_backend/unit/test_process_instance_report_service.py index 0e3227a1b..98412faa3 100644 --- a/spiffworkflow-backend/tests/spiffworkflow_backend/unit/test_process_instance_report_service.py +++ b/spiffworkflow-backend/tests/spiffworkflow_backend/unit/test_process_instance_report_service.py @@ -13,13 +13,13 @@ from spiffworkflow_backend.services.process_instance_report_service import ( ProcessInstanceReportFilter, ) from spiffworkflow_backend.services.process_instance_report_service import ( - ProcessInstanceReportFilter, ProcessInstanceReportService, ) class TestProcessInstanceReportFilter(BaseTest): """TestProcessInstanceReportFilter.""" + def test_empty_filter_to_dict( self, app: Flask, @@ -40,9 +40,7 @@ class TestProcessInstanceReportFilter(BaseTest): with_super_admin_user: UserModel, ) -> None: """Docstring.""" - d = ProcessInstanceReportFilter( - process_model_identifier="bob" - ).to_dict() + d = ProcessInstanceReportFilter(process_model_identifier="bob").to_dict() assert d == {"process_model_identifier": "bob"} @@ -76,9 +74,7 @@ class TestProcessInstanceReportFilter(BaseTest): with_super_admin_user: UserModel, ) -> None: """Docstring.""" - d = ProcessInstanceReportFilter( - process_status=["bob"] - ).to_dict() + d = ProcessInstanceReportFilter(process_status=["bob"]).to_dict() assert d == {"process_status": "bob"} @@ -90,9 +86,7 @@ class TestProcessInstanceReportFilter(BaseTest): with_super_admin_user: UserModel, ) -> None: """Docstring.""" - d = ProcessInstanceReportFilter( - process_status=["joe", "bob", "sue"] - ).to_dict() + d = ProcessInstanceReportFilter(process_status=["joe", "bob", "sue"]).to_dict() assert d == {"process_status": "joe,bob,sue"} From 6d6329a91bc41ec056fa5db7e176bdc5dea892bf Mon Sep 17 00:00:00 2001 From: Jon Herron Date: Wed, 16 Nov 2022 10:50:47 -0500 Subject: [PATCH 04/12] Set date filters from response --- .../components/ProcessInstanceListTable.tsx | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx b/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx index ceb0e997a..ec2397c0a 100644 --- a/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx +++ b/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx @@ -62,6 +62,7 @@ export default function ProcessInstanceListTable({ const [processInstances, setProcessInstances] = useState([]); const [reportMetadata, setReportMetadata] = useState({}); const [pagination, setPagination] = useState(null); + const [processInstanceFilters, setProcessInstanceFilters] = useState({}); const oneHourInSeconds = 3600; const oneMonthInSeconds = oneHourInSeconds * 24 * 30; @@ -108,6 +109,7 @@ export default function ProcessInstanceListTable({ setProcessInstances(processInstancesFromApi); setReportMetadata(result.report_metadata); setPagination(result.pagination); + setProcessInstanceFilters(result.filters); } function getProcessInstances() { // eslint-disable-next-line prefer-const @@ -212,6 +214,39 @@ export default function ProcessInstanceListTable({ perPageOptions, ]); + useEffect(() => { + console.log(processInstanceFilters); + const filters = processInstanceFilters as any; + Object.keys(parametersToAlwaysFilterBy).forEach((paramName: string) => { + // @ts-expect-error TS(7053) FIXME: + const functionToCall = parametersToAlwaysFilterBy[paramName]; + const paramValue = filters[paramName]; + if (paramValue) { + const dateString = convertSecondsToFormattedDate(paramValue as any); + functionToCall(dateString); + setShowFilterOptions(true); + } + }); + + Object.keys(parametersToGetFromSearchParams).forEach( + (paramName: string) => { + if ( + paramName === 'process_model_identifier' && + processModelFullIdentifier + ) { + // queryParamString += `&process_model_identifier=${processModelFullIdentifier}`; + } else if (filters[paramName]) { + // @ts-expect-error TS(7053) FIXME: + const functionToCall = parametersToGetFromSearchParams[paramName]; + if (functionToCall !== null) { + functionToCall(searchParams.get(paramName) || ''); + } + setShowFilterOptions(true); + } + } + ); + }, [processInstanceFilters]); + // does the comparison, but also returns false if either argument // is not truthy and therefore not comparable. const isTrueComparison = (param1: any, operation: any, param2: any) => { From ba2e89a3a3b191e1d3646e4bbf406c31399a4238 Mon Sep 17 00:00:00 2001 From: Jon Herron Date: Wed, 16 Nov 2022 11:45:34 -0500 Subject: [PATCH 05/12] Set status from filters --- .../components/ProcessInstanceListTable.tsx | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx b/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx index ec2397c0a..d5a28bfdb 100644 --- a/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx +++ b/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx @@ -235,12 +235,18 @@ export default function ProcessInstanceListTable({ processModelFullIdentifier ) { // queryParamString += `&process_model_identifier=${processModelFullIdentifier}`; - } else if (filters[paramName]) { - // @ts-expect-error TS(7053) FIXME: - const functionToCall = parametersToGetFromSearchParams[paramName]; - if (functionToCall !== null) { - functionToCall(searchParams.get(paramName) || ''); - } + } else if ( + paramName === 'process_status' && + typeof filters.process_status === 'string' + ) { + const processStatusSelectedArray: string[] = []; + PROCESS_STATUSES.forEach((processStatusOption: any) => { + const regex = new RegExp(`\\b${processStatusOption}\\b`); + if (filters.process_status.match(regex)) { + processStatusSelectedArray.push(processStatusOption); + } + }); + setProcessStatusSelection(processStatusSelectedArray); setShowFilterOptions(true); } } From 4f9849a71f80f3e0e4bb94f551823df0eb54b37f Mon Sep 17 00:00:00 2001 From: Jon Herron Date: Wed, 16 Nov 2022 13:51:24 -0500 Subject: [PATCH 06/12] Set process model from filter --- .../src/components/ProcessInstanceListTable.tsx | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx b/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx index d5a28bfdb..543b9a462 100644 --- a/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx +++ b/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx @@ -215,7 +215,6 @@ export default function ProcessInstanceListTable({ ]); useEffect(() => { - console.log(processInstanceFilters); const filters = processInstanceFilters as any; Object.keys(parametersToAlwaysFilterBy).forEach((paramName: string) => { // @ts-expect-error TS(7053) FIXME: @@ -232,9 +231,13 @@ export default function ProcessInstanceListTable({ (paramName: string) => { if ( paramName === 'process_model_identifier' && - processModelFullIdentifier + typeof filters.process_model_identifier === 'string' ) { - // queryParamString += `&process_model_identifier=${processModelFullIdentifier}`; + processModelAvailableItems.forEach((item: any) => { + if (item.id === filters.process_model_identifier) { + setProcessModelSelection(item); + } + }); } else if ( paramName === 'process_status' && typeof filters.process_status === 'string' @@ -251,7 +254,12 @@ export default function ProcessInstanceListTable({ } } ); - }, [processInstanceFilters]); + }, [ + processInstanceFilters, + parametersToAlwaysFilterBy, + parametersToGetFromSearchParams, + processModelAvailableItems, + ]); // does the comparison, but also returns false if either argument // is not truthy and therefore not comparable. From c1813d4ef7ccfcb74db556bee7ad2eb9f4d94b7c Mon Sep 17 00:00:00 2001 From: Jon Herron Date: Wed, 16 Nov 2022 15:02:33 -0500 Subject: [PATCH 07/12] Add flag to indicate if user filtered --- .../src/spiffworkflow_backend/api.yml | 6 ++++ .../routes/process_api_blueprint.py | 33 ++++++++++++++----- .../components/ProcessInstanceListTable.tsx | 8 ++++- 3 files changed, 37 insertions(+), 10 deletions(-) diff --git a/spiffworkflow-backend/src/spiffworkflow_backend/api.yml b/spiffworkflow-backend/src/spiffworkflow_backend/api.yml index 72f1ced65..76d821e1f 100755 --- a/spiffworkflow-backend/src/spiffworkflow_backend/api.yml +++ b/spiffworkflow-backend/src/spiffworkflow_backend/api.yml @@ -439,6 +439,12 @@ paths: description: For filtering - not_started, user_input_required, waiting, complete, error, or suspended schema: type: string + - name: user_filter + in: query + required: false + description: For filtering - indicates the user has manually entered a query + schema: + type: boolean # process_instance_list get: operationId: spiffworkflow_backend.routes.process_api_blueprint.process_instance_list diff --git a/spiffworkflow-backend/src/spiffworkflow_backend/routes/process_api_blueprint.py b/spiffworkflow-backend/src/spiffworkflow_backend/routes/process_api_blueprint.py index d278b27ec..d5d110946 100644 --- a/spiffworkflow-backend/src/spiffworkflow_backend/routes/process_api_blueprint.py +++ b/spiffworkflow-backend/src/spiffworkflow_backend/routes/process_api_blueprint.py @@ -74,6 +74,7 @@ from spiffworkflow_backend.services.process_instance_processor import ( ) from spiffworkflow_backend.services.process_instance_report_service import ( ProcessInstanceReportService, + ProcessInstanceReportFilter, ) from spiffworkflow_backend.services.process_instance_service import ( ProcessInstanceService, @@ -732,18 +733,32 @@ def process_instance_list( end_from: Optional[int] = None, end_to: Optional[int] = None, process_status: Optional[str] = None, + user_filter: Optional[bool] = False, ) -> flask.wrappers.Response: """Process_instance_list.""" process_instance_report = ProcessInstanceReportModel.default_report(g.user) - report_filter = ProcessInstanceReportService.filter_from_metadata_with_overrides( - process_instance_report, - process_model_identifier, - start_from, - start_to, - end_from, - end_to, - process_status, - ) + + print(f"user_filter: {user_filter}") + + if user_filter: + report_filter = ProcessInstanceReportFilter( + process_model_identifier, + start_from, + start_to, + end_from, + end_to, + process_status, + ) + else: + report_filter = ProcessInstanceReportService.filter_from_metadata_with_overrides( + process_instance_report, + process_model_identifier, + start_from, + start_to, + end_from, + end_to, + process_status, + ) # process_model_identifier = un_modify_modified_process_model_id(modified_process_model_identifier) process_instance_query = ProcessInstanceModel.query diff --git a/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx b/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx index 543b9a462..8f482a592 100644 --- a/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx +++ b/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx @@ -125,6 +125,11 @@ export default function ProcessInstanceListTable({ } let queryParamString = `per_page=${perPage}&page=${page}`; + const userAppliedFilter = searchParams.get('user_filter'); + if (userAppliedFilter) { + queryParamString += `&user_filter=${userAppliedFilter}`; + } + Object.keys(parametersToAlwaysFilterBy).forEach((paramName: string) => { // @ts-expect-error TS(7053) FIXME: const functionToCall = parametersToAlwaysFilterBy[paramName]; @@ -286,7 +291,7 @@ export default function ProcessInstanceListTable({ undefined, paginationQueryParamPrefix ); - let queryParamString = `per_page=${perPage}&page=${page}`; + let queryParamString = `per_page=${perPage}&page=${page}&user_filter=true`; const startFromSeconds = convertDateStringToSeconds(startFrom); const endFromSeconds = convertDateStringToSeconds(endFrom); @@ -338,6 +343,7 @@ export default function ProcessInstanceListTable({ } setErrorMessage(null); + console.log(queryParamString); navigate(`/admin/process-instances?${queryParamString}`); }; From 5f6bb4a0f8135f9e53bbc49b85ad224e4d09c64f Mon Sep 17 00:00:00 2001 From: Jon Herron Date: Wed, 16 Nov 2022 16:25:19 -0500 Subject: [PATCH 08/12] Clear/remove filter works --- .../src/components/ProcessInstanceListTable.tsx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx b/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx index 8f482a592..b77f4fbae 100644 --- a/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx +++ b/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx @@ -225,6 +225,7 @@ export default function ProcessInstanceListTable({ // @ts-expect-error TS(7053) FIXME: const functionToCall = parametersToAlwaysFilterBy[paramName]; const paramValue = filters[paramName]; + functionToCall(''); if (paramValue) { const dateString = convertSecondsToFormattedDate(paramValue as any); functionToCall(dateString); @@ -234,20 +235,19 @@ export default function ProcessInstanceListTable({ Object.keys(parametersToGetFromSearchParams).forEach( (paramName: string) => { - if ( - paramName === 'process_model_identifier' && - typeof filters.process_model_identifier === 'string' - ) { + if (paramName === 'process_model_identifier') { + setProcessModelSelection(null); processModelAvailableItems.forEach((item: any) => { if (item.id === filters.process_model_identifier) { setProcessModelSelection(item); } }); - } else if ( - paramName === 'process_status' && - typeof filters.process_status === 'string' - ) { + } else if (paramName === 'process_status') { const processStatusSelectedArray: string[] = []; + setProcessStatusSelection(processStatusSelectedArray); + if (!filters.process_status) { + return; + } PROCESS_STATUSES.forEach((processStatusOption: any) => { const regex = new RegExp(`\\b${processStatusOption}\\b`); if (filters.process_status.match(regex)) { From f07bf182e500e5a6322db2b5f6da3f5680a353b8 Mon Sep 17 00:00:00 2001 From: Jon Herron Date: Wed, 16 Nov 2022 16:31:58 -0500 Subject: [PATCH 09/12] lint --- .../components/ProcessInstanceListTable.tsx | 42 ++++++++----------- 1 file changed, 17 insertions(+), 25 deletions(-) diff --git a/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx b/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx index b77f4fbae..217b04253 100644 --- a/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx +++ b/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx @@ -233,32 +233,24 @@ export default function ProcessInstanceListTable({ } }); - Object.keys(parametersToGetFromSearchParams).forEach( - (paramName: string) => { - if (paramName === 'process_model_identifier') { - setProcessModelSelection(null); - processModelAvailableItems.forEach((item: any) => { - if (item.id === filters.process_model_identifier) { - setProcessModelSelection(item); - } - }); - } else if (paramName === 'process_status') { - const processStatusSelectedArray: string[] = []; - setProcessStatusSelection(processStatusSelectedArray); - if (!filters.process_status) { - return; - } - PROCESS_STATUSES.forEach((processStatusOption: any) => { - const regex = new RegExp(`\\b${processStatusOption}\\b`); - if (filters.process_status.match(regex)) { - processStatusSelectedArray.push(processStatusOption); - } - }); - setProcessStatusSelection(processStatusSelectedArray); - setShowFilterOptions(true); - } + setProcessModelSelection(null); + processModelAvailableItems.forEach((item: any) => { + if (item.id === filters.process_model_identifier) { + setProcessModelSelection(item); } - ); + }); + + const processStatusSelectedArray: string[] = []; + if (filters.process_status) { + PROCESS_STATUSES.forEach((processStatusOption: any) => { + const regex = new RegExp(`\\b${processStatusOption}\\b`); + if (filters.process_status.match(regex)) { + processStatusSelectedArray.push(processStatusOption); + } + }); + setShowFilterOptions(true); + } + setProcessStatusSelection(processStatusSelectedArray); }, [ processInstanceFilters, parametersToAlwaysFilterBy, From 480bdf0da17bb2cee338321f9c0b04ef0bfbd1cc Mon Sep 17 00:00:00 2001 From: Jon Herron Date: Wed, 16 Nov 2022 16:34:51 -0500 Subject: [PATCH 10/12] Fix status not being a list --- .../src/spiffworkflow_backend/routes/process_api_blueprint.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spiffworkflow-backend/src/spiffworkflow_backend/routes/process_api_blueprint.py b/spiffworkflow-backend/src/spiffworkflow_backend/routes/process_api_blueprint.py index d5d110946..8507f7b9b 100644 --- a/spiffworkflow-backend/src/spiffworkflow_backend/routes/process_api_blueprint.py +++ b/spiffworkflow-backend/src/spiffworkflow_backend/routes/process_api_blueprint.py @@ -747,7 +747,7 @@ def process_instance_list( start_to, end_from, end_to, - process_status, + process_status.split(",") if process_status else None, ) else: report_filter = ProcessInstanceReportService.filter_from_metadata_with_overrides( From d354d0359eb091e0018f4f5b6857307159e14a49 Mon Sep 17 00:00:00 2001 From: Jon Herron Date: Wed, 16 Nov 2022 16:35:38 -0500 Subject: [PATCH 11/12] Get ./bin/pyl to pass --- .../routes/process_api_blueprint.py | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/spiffworkflow-backend/src/spiffworkflow_backend/routes/process_api_blueprint.py b/spiffworkflow-backend/src/spiffworkflow_backend/routes/process_api_blueprint.py index 8507f7b9b..15dd76959 100644 --- a/spiffworkflow-backend/src/spiffworkflow_backend/routes/process_api_blueprint.py +++ b/spiffworkflow-backend/src/spiffworkflow_backend/routes/process_api_blueprint.py @@ -73,9 +73,11 @@ from spiffworkflow_backend.services.process_instance_processor import ( ProcessInstanceProcessor, ) from spiffworkflow_backend.services.process_instance_report_service import ( - ProcessInstanceReportService, ProcessInstanceReportFilter, ) +from spiffworkflow_backend.services.process_instance_report_service import ( + ProcessInstanceReportService, +) from spiffworkflow_backend.services.process_instance_service import ( ProcessInstanceService, ) @@ -750,14 +752,16 @@ def process_instance_list( process_status.split(",") if process_status else None, ) else: - report_filter = ProcessInstanceReportService.filter_from_metadata_with_overrides( - process_instance_report, - process_model_identifier, - start_from, - start_to, - end_from, - end_to, - process_status, + report_filter = ( + ProcessInstanceReportService.filter_from_metadata_with_overrides( + process_instance_report, + process_model_identifier, + start_from, + start_to, + end_from, + end_to, + process_status, + ) ) # process_model_identifier = un_modify_modified_process_model_id(modified_process_model_identifier) From b67cec85fcd72a30465215da6a51f259865e7bd7 Mon Sep 17 00:00:00 2001 From: Jon Herron Date: Wed, 16 Nov 2022 16:40:35 -0500 Subject: [PATCH 12/12] Pre-pr cleanup --- .../src/spiffworkflow_backend/routes/process_api_blueprint.py | 2 -- .../src/components/ProcessInstanceListTable.tsx | 1 - 2 files changed, 3 deletions(-) diff --git a/spiffworkflow-backend/src/spiffworkflow_backend/routes/process_api_blueprint.py b/spiffworkflow-backend/src/spiffworkflow_backend/routes/process_api_blueprint.py index 15dd76959..3bd93bdf7 100644 --- a/spiffworkflow-backend/src/spiffworkflow_backend/routes/process_api_blueprint.py +++ b/spiffworkflow-backend/src/spiffworkflow_backend/routes/process_api_blueprint.py @@ -740,8 +740,6 @@ def process_instance_list( """Process_instance_list.""" process_instance_report = ProcessInstanceReportModel.default_report(g.user) - print(f"user_filter: {user_filter}") - if user_filter: report_filter = ProcessInstanceReportFilter( process_model_identifier, diff --git a/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx b/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx index 217b04253..11ba5d652 100644 --- a/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx +++ b/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx @@ -335,7 +335,6 @@ export default function ProcessInstanceListTable({ } setErrorMessage(null); - console.log(queryParamString); navigate(`/admin/process-instances?${queryParamString}`); };