allow looping back in a process to create more messages - minor bug fix - didn't add what would be a complex test to this, as it was a one line change that seems an oversight in the original code. (#924)

This commit is contained in:
Dan Funk 2024-01-29 09:40:39 -05:00 committed by GitHub
parent f0f4bcce12
commit 03b21accec
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 3 additions and 2 deletions

View File

@ -33,7 +33,7 @@ if [[ "$process_model_dir" == "acceptance" ]]; then
export SPIFFWORKFLOW_BACKEND_PERMISSIONS_FILE_NAME=acceptance_tests.yml export SPIFFWORKFLOW_BACKEND_PERMISSIONS_FILE_NAME=acceptance_tests.yml
elif [[ "$process_model_dir" == "localopenid" ]]; then elif [[ "$process_model_dir" == "localopenid" ]]; then
export SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS__0__identifier="default" export SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS__0__identifier="default"
export SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS__0__label="inernal openid" export SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS__0__label="internal openid"
export SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS__0__uri="http://localhost:$port/openid" export SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS__0__uri="http://localhost:$port/openid"
export SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS__0__client_id="spiffworkflow-backend" export SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS__0__client_id="spiffworkflow-backend"
export SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS__0__client_secret="JXeQExm0JhQPLumgHtIIqf52bDalHz0q" export SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS__0__client_secret="JXeQExm0JhQPLumgHtIIqf52bDalHz0q"

View File

@ -522,12 +522,13 @@ class WorkflowExecutionService:
waiting_events = self.bpmn_process_instance.waiting_events() waiting_events = self.bpmn_process_instance.waiting_events()
waiting_message_events = filter(lambda e: e.event_type == "MessageEventDefinition", waiting_events) waiting_message_events = filter(lambda e: e.event_type == "MessageEventDefinition", waiting_events)
for event in waiting_message_events: for event in waiting_message_events:
# Ensure we are only creating one message instance for each waiting message # Ensure we are only creating one active message instance for each waiting message
if ( if (
MessageInstanceModel.query.filter_by( MessageInstanceModel.query.filter_by(
process_instance_id=self.process_instance_model.id, process_instance_id=self.process_instance_model.id,
message_type="receive", message_type="receive",
name=event.name, name=event.name,
status="ready",
).count() ).count()
> 0 > 0
): ):