Преглед на файлове

try/catch cuando no hay definición de workflow

iksop преди 7 години
родител
ревизия
d1a52302c4
променени са 1 файла, в които са добавени 6 реда и са изтрити 1 реда
  1. 6 1
      Twig/WorkflowExtension.php

+ 6 - 1
Twig/WorkflowExtension.php

@@ -1,10 +1,11 @@
 <?php
 <?php
-
 namespace WorkflowBundle\Twig;
 namespace WorkflowBundle\Twig;
 
 
 use Symfony\Component\Workflow\Registry;
 use Symfony\Component\Workflow\Registry;
 use Symfony\Component\Translation\TranslatorInterface;
 use Symfony\Component\Translation\TranslatorInterface;
 
 
+use Symfony\Component\Workflow\Exception\InvalidArgumentException;
+
 class WorkflowExtension extends \Twig_Extension
 class WorkflowExtension extends \Twig_Extension
 {
 {
     private $workflowRegistry;
     private $workflowRegistry;
@@ -90,7 +91,11 @@ class WorkflowExtension extends \Twig_Extension
         $nodes = array();
         $nodes = array();
         $links = array();
         $links = array();
 
 
+       try{
         $definition = $this->workflowRegistry->get($object, $name)->getDefinition();
         $definition = $this->workflowRegistry->get($object, $name)->getDefinition();
+       }catch (InvalidArgumentException $e){
+          return json_encode(array());
+        }
         $places = $definition->getPlaces();
         $places = $definition->getPlaces();
         $initial = $definition->getInitialPlace();
         $initial = $definition->getInitialPlace();
         $transitions = $definition->getTransitions();
         $transitions = $definition->getTransitions();