|
@@ -85,26 +85,26 @@ class EventSubscriber implements EventSubscriberInterface
|
|
|
//$event->setBlocked(true);
|
|
|
}
|
|
|
|
|
|
- public function getActions($event, $eventType, $eventReference) {
|
|
|
+ /**
|
|
|
+ * @param Event $event
|
|
|
+ * @param string $eventName
|
|
|
+ * @param string $eventReference
|
|
|
+ *
|
|
|
+ * @return array
|
|
|
+ */
|
|
|
+ public function getActions($event, $eventName, $eventReference)
|
|
|
+ {
|
|
|
$logger = $this->container->get('logger');
|
|
|
|
|
|
$em = $this->container->get("doctrine.orm.entity_manager");
|
|
|
$object = $event->getSubject();
|
|
|
- $class = (string) get_class($object);
|
|
|
-
|
|
|
- $filter = array();
|
|
|
- $filter['event'] = $eventType;
|
|
|
- $filter['objectClass'] = $class;
|
|
|
- $filter['workflowType'] = $object->getWorkflowType();
|
|
|
- $filter['workflowName'] = $object->getWorkflowName();
|
|
|
- $filter['eventReference'] = $eventReference;
|
|
|
-
|
|
|
- $logger->info("EVENT {$eventType}:{$eventReference} => {$class}_id_{$object->getId()}");
|
|
|
+ $objectClass = (string) get_class($object);
|
|
|
+ $logger->info("EVENT {$eventName}:{$eventReference} => {$objectClass }_id_{$object->getId()}");
|
|
|
|
|
|
- $actions = $em->getRepository("WorkflowBundle:Action")->findBy($filter);
|
|
|
+ $actions = $em->getRepository("WorkflowBundle:Action")
|
|
|
+ ->findAllByEventAndWorkflowName($eventName, $object->getWorkflowName(), $eventReference, $objectClass);
|
|
|
|
|
|
return $actions;
|
|
|
-
|
|
|
}
|
|
|
|
|
|
public function completeAction($action, $params) {
|