/** * @param ResourceEvent $resourceEvent */ public function onSave(ResourceEvent $resourceEvent) { // var_dump($resourceEvent); // $module = $resourceEvent->getContainer()->getModule(); $entities = $this->moduleRepository->setClass(new ResourceRepository())->findByAllResources(); $entitiesToRemove = $this->objectManager->getRepository("BigfishCoreBundle:CacheRouting")->findAll(); $flush = false; foreach ($entitiesToRemove as $remove) { $this->objectManager->remove($remove); $flush = true; } if ($flush) { $this->objectManager->flush(); } $flush = false; foreach ($entities as $entity) { if (isset($entity["resource_id"])) { // $resource = $this->objectManager->getRepository("BigfishCoreBundle:Resource")->find($entity["resource_id"]); if ($resource) { $routeData = $this->getParentsEntities($entities, $entity["resource_id"]); $route = new CacheRouting(); $route->setResource($resource); $route->setLanguage($this->languageManager->getObject()); $path = $this->validateSlug($entity["routerPath"], $routeData); $route->setPath($path); $this->objectManager->persist($route); $flush = true; } } } if ($flush) { $this->objectManager->flush(); } }
/** * @param PersisterObjectInterface $object * * @return array * * @throws \Exception */ public function find(PersisterObjectInterface $object) { // var_dump($object); $module = $object->getModule(); $container = $this->loadModel($module, $object->getContext(), $object); return $this->moduleManager->setModule($module)->find($container); }