engine = $engine; $this->metadataExtractor = $metadataExtractor; $this->registry = $registry; $this->entityWorkflowManager = $entityWorkflowManager; $this->mailer = $mailer; } public function postPersist(EntityWorkflowStep $step): void { $entityWorkflow = $step->getEntityWorkflow(); $place = $this->metadataExtractor->buildArrayPresentationForPlace($entityWorkflow); $workflow = $this->metadataExtractor->buildArrayPresentationForWorkflow( $this->registry->get($entityWorkflow, $entityWorkflow->getWorkflowName()) ); $handler = $this->entityWorkflowManager->getHandler($entityWorkflow); foreach ($entityWorkflow->futureDestEmails as $emailAddress) { $context = [ 'entity_workflow' => $entityWorkflow, 'dest' => $emailAddress, 'place' => $place, 'workflow' => $workflow, 'entityTitle' => $handler->getEntityTitle($entityWorkflow), ]; $email = new Email(); $email ->addTo($emailAddress) ->subject($this->engine->render('@ChillMain/Workflow/workflow_send_access_key_title.fr.txt.twig', $context)) ->text($this->engine->render('@ChillMain/Workflow/workflow_send_access_key.fr.txt.twig', $context)); $this->mailer->send($email); } } }