[ 'from' => '1/2 Textes FR', 'to' => '1/2 Textes FR', ], 'Final' => [ 'from' => '1/2 Textes FR', 'to' => '2/2 Finale FR', ], 'Final_Reject' => [ 'from' => '2/2 Finale FR', 'to' => '1/2 Textes FR', ], 'BAT' => [ 'from' => '2/2 Finale FR', 'to' => 'BAT', ], 'BAT_Reject' => [ 'from' => 'BAT', 'to' => '2/2 Finale FR', ], ]; /** @var TransitionsRepositoryInterface */ private $transitionsRepository; /** @var PlacesRepositoryInterface */ private $placesRepository; /** @var ConfigurationRepositoryInterface */ private $configurationRepository; /** @var ModuleQuery */ private $module; public function __construct(TransitionsRepositoryInterface $transitionsRepository, PlacesRepositoryInterface $placesRepository, ConfigurationRepositoryInterface $configurationRepository, ModuleQuery $module) { $this->transitionsRepository = $transitionsRepository; $this->placesRepository = $placesRepository; $this->configurationRepository = $configurationRepository; $this->module = $module; } /** * @throws NonUniqueResultException */ public function load(ObjectManager $manager): void { $configuration = $this->configurationRepository->findByModule($this->module->getModule()); $clear = new ClearService(); $i = 0; foreach (self::TRANSITIONS as $key => $transition) { $entity = new Transitions(); $entity->setName($key); if (false === strpos($key, '_Reject')) { $entity->setKey($clear->cleanString($key)); } else { $entity->setKey($clear->cleanString($key) . '_generickeytest_Reject'); } $startPlace = $this->placesRepository->findByName($transition['from'], $configuration->getId()); $entity->setStartPlace($startPlace); $endPlace = $this->placesRepository->findByName($transition['to'], $configuration->getId()); $entity->setEndPlace($endPlace); $entity->setConfiguration($configuration); $entity->setPosition($i); $this->transitionsRepository->create($entity); ++$i; } } public function getDependencies(): array { return [ PlacesFixtures::class, ConfigurationFixtures::class, ]; } }