From 97aecbc33b239138d3195eee3fa6929ff9fc1708 Mon Sep 17 00:00:00 2001 From: Dan Date: Wed, 26 Apr 2023 21:27:52 -0400 Subject: [PATCH] Need to remove the initial greedy first task from run-until-user-instructions as it was causing us to skip over user messages. We weren't formatting instructions for end events. More cleanup of the UI More rapid graying out of past messages --- .../routes/tasks_controller.py | 2 ++ .../services/workflow_execution_service.py | 7 ------- spiffworkflow-frontend/src/index.css | 6 +++--- .../src/routes/ProcessInterstitial.tsx | 18 +++++++++++++++--- 4 files changed, 20 insertions(+), 13 deletions(-) diff --git a/spiffworkflow-backend/src/spiffworkflow_backend/routes/tasks_controller.py b/spiffworkflow-backend/src/spiffworkflow_backend/routes/tasks_controller.py index 649ec316..6f6322e8 100644 --- a/spiffworkflow-backend/src/spiffworkflow_backend/routes/tasks_controller.py +++ b/spiffworkflow-backend/src/spiffworkflow_backend/routes/tasks_controller.py @@ -406,6 +406,7 @@ def _interstitial_stream(process_instance: ProcessInstanceModel) -> Generator[st reported_ids.append(spiff_task.id) if spiff_task.state == TaskState.READY: try: + processor.do_engine_steps(execution_strategy_name="one_at_a_time") processor.do_engine_steps(execution_strategy_name="run_until_user_message") processor.save() # Fixme - maybe find a way not to do this on every loop? except WorkflowTaskException as wfe: @@ -432,6 +433,7 @@ def _interstitial_stream(process_instance: ProcessInstanceModel) -> Generator[st if task.id not in reported_ids: task_model = TaskModel.query.filter_by(guid=str(task.id)).first() extensions = TaskService.get_extensions_from_task_model(task_model) + instructions = _render_instructions_for_end_user(task_model, extensions) task.properties = extensions yield f"data: {current_app.json.dumps(task)} \n\n" diff --git a/spiffworkflow-backend/src/spiffworkflow_backend/services/workflow_execution_service.py b/spiffworkflow-backend/src/spiffworkflow_backend/services/workflow_execution_service.py index c159def3..db29f3ba 100644 --- a/spiffworkflow-backend/src/spiffworkflow_backend/services/workflow_execution_service.py +++ b/spiffworkflow-backend/src/spiffworkflow_backend/services/workflow_execution_service.py @@ -306,13 +306,6 @@ class RunUntilUserTaskOrMessageExecutionStrategy(ExecutionStrategy): """ def spiff_run(self, bpmn_process_instance: BpmnWorkflow, exit_at: None = None) -> None: - bpmn_process_instance.refresh_waiting_tasks() - engine_steps = self.get_ready_engine_steps(bpmn_process_instance) - if len(engine_steps) > 0: - self.delegate.will_complete_task(engine_steps[0]) - engine_steps[0].run() - self.delegate.did_complete_task(engine_steps[0]) - should_continue = True bpmn_process_instance.refresh_waiting_tasks() engine_steps = self.get_ready_engine_steps(bpmn_process_instance) diff --git a/spiffworkflow-frontend/src/index.css b/spiffworkflow-frontend/src/index.css index 2a8e6de7..ce573b90 100644 --- a/spiffworkflow-frontend/src/index.css +++ b/spiffworkflow-frontend/src/index.css @@ -435,15 +435,15 @@ svg.notification-icon { } .user_instructions_1 { - filter: opacity(70%); + filter: opacity(60%); } .user_instructions_2 { - filter: opacity(50%); + filter: opacity(40%); } .user_instructions_3 { - filter: opacity(30%); + filter: opacity(20%); } .user_instructions_4 { diff --git a/spiffworkflow-frontend/src/routes/ProcessInterstitial.tsx b/spiffworkflow-frontend/src/routes/ProcessInterstitial.tsx index 2fd6c26a..4a01cfa1 100644 --- a/spiffworkflow-frontend/src/routes/ProcessInterstitial.tsx +++ b/spiffworkflow-frontend/src/routes/ProcessInterstitial.tsx @@ -103,19 +103,30 @@ export default function ProcessInterstitial() { const getReturnHomeButton = (index: number) => { if ( index === 0 && + state !== 'REDIRECTING' && ['WAITING', 'ERROR', 'LOCKED', 'COMPLETED', 'READY'].includes(getStatus()) ) return ( -
+
-
); return ''; }; + const getHr = (index: number) => { + if (index === 0) { + return ( +
+
+
+ ) + } + return ""; + } + function capitalize(str: string): string { if (str && str.length > 0) { return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase(); @@ -188,7 +199,7 @@ export default function ProcessInterstitial() {
{data.map((d, index) => ( - +
{getReturnHomeButton(index)} + {getHr(index)} ))}