diff --git a/src/Symfony/Component/Workflow/CHANGELOG.md b/src/Symfony/Component/Workflow/CHANGELOG.md index 0030f96b83e58..263f2db5e803f 100644 --- a/src/Symfony/Component/Workflow/CHANGELOG.md +++ b/src/Symfony/Component/Workflow/CHANGELOG.md @@ -6,7 +6,8 @@ CHANGELOG * Added `Workflow::getEnabledTransition()` to easily retrieve a specific transition object * Added context to the event dispatched - * Added default context to the Initial Marking + * Dispatch an event when the subject enters in the workflow for the very first time + * Added a default context to the previous event 5.1.0 ----- diff --git a/src/Symfony/Component/Workflow/Workflow.php b/src/Symfony/Component/Workflow/Workflow.php index 75e7fe0102a10..4220c43233911 100644 --- a/src/Symfony/Component/Workflow/Workflow.php +++ b/src/Symfony/Component/Workflow/Workflow.php @@ -396,14 +396,8 @@ private function entered(object $subject, ?Transition $transition, Marking $mark $this->dispatcher->dispatch($event, WorkflowEvents::ENTERED); $this->dispatcher->dispatch($event, sprintf('workflow.%s.entered', $this->name)); - if ($transition) { - foreach ($transition->getTos() as $place) { - $this->dispatcher->dispatch($event, sprintf('workflow.%s.entered.%s', $this->name, $place)); - } - } elseif (!empty($this->definition->getInitialPlaces())) { - foreach ($this->definition->getInitialPlaces() as $place) { - $this->dispatcher->dispatch($event, sprintf('workflow.%s.entered.%s', $this->name, $place)); - } + foreach ($marking->getPlaces() as $placeName => $nbToken) { + $this->dispatcher->dispatch($event, sprintf('workflow.%s.entered.%s', $this->name, $placeName)); } }