فهرست منبع

Se carga el container en la entidad workflow para los eventos

Your Name 7 سال پیش
والد
کامیت
567e8df5bc
3فایلهای تغییر یافته به همراه12 افزوده شده و 1 حذف شده
  1. 0 1
      Entity/Workflow.php
  2. 11 0
      EventListener/WorkflowInterfaceListener.php
  3. 1 0
      Resources/config/services.yml

+ 0 - 1
Entity/Workflow.php

@@ -14,7 +14,6 @@ use Symfony\Component\Console\Output\BufferedOutput;
 use WorkflowBundle\Validator\Constraints as WorkflowAssert;
 use Symfony\Component\Workflow\Registry;
 
-// TODO : Remplazar las referencias de "global $kenerl por algo m�s testeable"
 
 /**
  * Workflow

+ 11 - 0
EventListener/WorkflowInterfaceListener.php

@@ -8,6 +8,12 @@ use Doctrine\ORM\EntityManager;
 
 class WorkflowInterfaceListener
 {
+    private $container;
+
+    public function __construct($container)
+    {
+        $this->container = $container;
+    }
     
     /**
      * @param LifecycleEventArgs $event
@@ -30,6 +36,11 @@ class WorkflowInterfaceListener
                 $entity->setCurrentState($workflow->getInitialPlace($entity));
             }
         }
+
+        $object = $event->getObject();
+        if ($object instanceof \WorkflowBundle\Entity\Workflow) {
+            $object->setContainer($this->container);
+        }
     }
 
 }

+ 1 - 0
Resources/config/services.yml

@@ -44,6 +44,7 @@ services:
         class: WorkflowBundle\EventListener\WorkflowInterfaceListener
         tags:
             - { name: doctrine.event_listener, event: prePersist }
+        arguments: ['@service_container']
 
     global.kernel.entity:
         class: WorkflowBundle\EventListener\WorkflowEventListener