diff --git a/mailpoet/lib/Automation/Engine/Data/Workflow.php b/mailpoet/lib/Automation/Engine/Data/Workflow.php index cb42a45fdb..564fccd4bf 100644 --- a/mailpoet/lib/Automation/Engine/Data/Workflow.php +++ b/mailpoet/lib/Automation/Engine/Data/Workflow.php @@ -153,6 +153,10 @@ class Workflow { return $compareArray === $currentArray; } + public function needsFullValidation(): bool { + return in_array($this->status, [Workflow::STATUS_ACTIVE, Workflow::STATUS_DEACTIVATING], true); + } + public function toArray(): array { return [ 'id' => $this->id, diff --git a/mailpoet/lib/Automation/Engine/Validation/WorkflowRules/AtLeastOneTriggerRule.php b/mailpoet/lib/Automation/Engine/Validation/WorkflowRules/AtLeastOneTriggerRule.php index fc562ae3a4..4eb711df42 100644 --- a/mailpoet/lib/Automation/Engine/Validation/WorkflowRules/AtLeastOneTriggerRule.php +++ b/mailpoet/lib/Automation/Engine/Validation/WorkflowRules/AtLeastOneTriggerRule.php @@ -25,8 +25,7 @@ class AtLeastOneTriggerRule implements WorkflowNodeVisitor { } public function complete(Workflow $workflow): void { - // do not validate for drafts - if ($workflow->getStatus() === Workflow::STATUS_DRAFT) { + if (!$workflow->needsFullValidation()) { return; } diff --git a/mailpoet/lib/Automation/Engine/Validation/WorkflowRules/TriggerNeedsToBeFollowedByActionRule.php b/mailpoet/lib/Automation/Engine/Validation/WorkflowRules/TriggerNeedsToBeFollowedByActionRule.php index 7eb83b4d24..619047eac1 100644 --- a/mailpoet/lib/Automation/Engine/Validation/WorkflowRules/TriggerNeedsToBeFollowedByActionRule.php +++ b/mailpoet/lib/Automation/Engine/Validation/WorkflowRules/TriggerNeedsToBeFollowedByActionRule.php @@ -15,8 +15,7 @@ class TriggerNeedsToBeFollowedByActionRule implements WorkflowNodeVisitor { } public function visitNode(Workflow $workflow, WorkflowNode $node): void { - // do not validate for drafts - if ($workflow->getStatus() === Workflow::STATUS_DRAFT) { + if (!$workflow->needsFullValidation()) { return; } diff --git a/mailpoet/lib/Automation/Engine/Validation/WorkflowRules/ValidStepRule.php b/mailpoet/lib/Automation/Engine/Validation/WorkflowRules/ValidStepRule.php index 2000d79e16..0076f9bd6b 100644 --- a/mailpoet/lib/Automation/Engine/Validation/WorkflowRules/ValidStepRule.php +++ b/mailpoet/lib/Automation/Engine/Validation/WorkflowRules/ValidStepRule.php @@ -25,8 +25,7 @@ class ValidStepRule implements WorkflowNodeVisitor { } public function initialize(Workflow $workflow): void { - // do not validate for drafts - if ($workflow->getStatus() === Workflow::STATUS_DRAFT) { + if (!$workflow->needsFullValidation()) { return; } @@ -36,8 +35,7 @@ class ValidStepRule implements WorkflowNodeVisitor { } public function visitNode(Workflow $workflow, WorkflowNode $node): void { - // do not validate for drafts - if ($workflow->getStatus() === Workflow::STATUS_DRAFT) { + if (!$workflow->needsFullValidation()) { return; } @@ -121,8 +119,7 @@ class ValidStepRule implements WorkflowNodeVisitor { } public function complete(Workflow $workflow): void { - // do not validate for drafts - if ($workflow->getStatus() === Workflow::STATUS_DRAFT) { + if (!$workflow->needsFullValidation()) { return; }