From 10e2ea6f9125d9f78744a3dd30d026dff8da55e4 Mon Sep 17 00:00:00 2001 From: jasquat Date: Tue, 3 Jan 2023 17:26:01 -0500 Subject: [PATCH] added new page to create process models using english text w/ burnettk --- .../routes/process_instances_controller.py | 2 ++ .../routes/process_models_controller.py | 18 ++++++++++-------- .../process_instance_report_service.py | 1 + .../integration/test_process_api.py | 3 ++- 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/spiffworkflow_backend/routes/process_instances_controller.py b/src/spiffworkflow_backend/routes/process_instances_controller.py index c1c4c1b0..3f7da50c 100644 --- a/src/spiffworkflow_backend/routes/process_instances_controller.py +++ b/src/spiffworkflow_backend/routes/process_instances_controller.py @@ -396,6 +396,7 @@ def process_instance_report_update( report_id: int, body: Dict[str, Any], ) -> flask.wrappers.Response: + """Process_instance_report_update.""" process_instance_report = ProcessInstanceReportModel.query.filter_by( id=report_id, created_by_id=g.user.id, @@ -416,6 +417,7 @@ def process_instance_report_update( def process_instance_report_delete( report_id: int, ) -> flask.wrappers.Response: + """Process_instance_report_delete.""" process_instance_report = ProcessInstanceReportModel.query.filter_by( id=report_id, created_by_id=g.user.id, diff --git a/src/spiffworkflow_backend/routes/process_models_controller.py b/src/spiffworkflow_backend/routes/process_models_controller.py index 3c3a7382..467062be 100644 --- a/src/spiffworkflow_backend/routes/process_models_controller.py +++ b/src/spiffworkflow_backend/routes/process_models_controller.py @@ -2,7 +2,6 @@ import json import os from spiffworkflow_backend.models.process_instance_report import ProcessInstanceReportModel -from spiffworkflow_backend.services.file_system_service import FileSystemService import re from typing import Any from typing import Dict @@ -366,16 +365,17 @@ def process_model_create_with_natural_language( ) ProcessModelService.add_process_model(process_model_info) - bpmn_process_identifier = f"{process_model_info.id}_process" + bpmn_process_identifier = f"{process_model_identifier}_process" bpmn_template_contents = '' with open(bpmn_template_file, encoding="utf-8") as f: bpmn_template_contents = f.read() - bpmn_template_contents = bpmn_template_contents.replace('natural_language_process_id_template', bpmn_process_identifier) - bpmn_template_contents = bpmn_template_contents.replace('form-identifier-id-template-', form_identifier) + bpmn_template_contents = bpmn_template_contents.replace( + 'natural_language_process_id_template', bpmn_process_identifier) + bpmn_template_contents = bpmn_template_contents.replace('form-identifier-id-template', form_identifier) form_uischema_json: dict = { - "ui:order": [] + "ui:order": columns } form_properties: dict = {} @@ -392,8 +392,10 @@ def process_model_create_with_natural_language( } SpecFileService.add_file(process_model_info, f"{process_model_identifier}.bpmn", str.encode(bpmn_template_contents)) - SpecFileService.add_file(process_model_info, f"{form_identifier}-schema.json", str.encode(json.dumps(form_schema_json))) - SpecFileService.add_file(process_model_info, f"{form_identifier}-uischema.json", str.encode(json.dumps(form_uischema_json))) + SpecFileService.add_file(process_model_info, f"{form_identifier}-schema.json", + str.encode(json.dumps(form_schema_json))) + SpecFileService.add_file( + process_model_info, f"{form_identifier}-uischema.json", str.encode(json.dumps(form_uischema_json))) _commit_and_push_to_git( f"User: {g.user.username} created process model via natural language:" @@ -403,7 +405,7 @@ def process_model_create_with_natural_language( default_report_metadata = ProcessInstanceReportService.system_metadata_map('default') for column in columns: default_report_metadata['columns'].append({ - "Header": column, "accessor": column + "Header": column, "accessor": column, "filterable": True }) ProcessInstanceReportModel.create_report( identifier=process_model_identifier, diff --git a/src/spiffworkflow_backend/services/process_instance_report_service.py b/src/spiffworkflow_backend/services/process_instance_report_service.py index 2ae12769..cd72ccfa 100644 --- a/src/spiffworkflow_backend/services/process_instance_report_service.py +++ b/src/spiffworkflow_backend/services/process_instance_report_service.py @@ -86,6 +86,7 @@ class ProcessInstanceReportService: @classmethod def system_metadata_map(cls, metadata_key: str) -> dict[str, Any]: + """System_metadata_map.""" # TODO replace with system reports that are loaded on launch (or similar) temp_system_metadata_map = { "default": { diff --git a/tests/spiffworkflow_backend/integration/test_process_api.py b/tests/spiffworkflow_backend/integration/test_process_api.py index 7096499e..d058f901 100644 --- a/tests/spiffworkflow_backend/integration/test_process_api.py +++ b/tests/spiffworkflow_backend/integration/test_process_api.py @@ -221,7 +221,8 @@ class TestProcessApi(BaseTest): process_instance_report = ProcessInstanceReportModel.query.filter_by(identifier='bug-tracker').first() assert process_instance_report is not None report_column_accessors = [i['accessor'] for i in process_instance_report.report_metadata['columns']] - expected_column_accessors = ['id', 'process_model_display_name', 'start_in_seconds', 'end_in_seconds', 'username', 'status', 'summary', 'description', 'priority'] + expected_column_accessors = ['id', 'process_model_display_name', 'start_in_seconds', + 'end_in_seconds', 'username', 'status', 'summary', 'description', 'priority'] assert report_column_accessors == expected_column_accessors def test_primary_process_id_updates_via_xml(