Ejemplo n.º 1
0
 /**
  * postPersist
  *
  * @param LifecycleEventArgs $args
  */
 public function postPersist(LifeCycleEventArgs $args)
 {
     /** @var Node $parent */
     /** @var Node $object */
     $dm = $args->getDocumentManager();
     $object = $args->getDocument();
     if ($object instanceof NodeInterface) {
         if ($parent = $object->getParent()) {
             $parent->addChild($object);
             $dm->persist($parent);
             $dm->flush();
         }
     }
 }
Ejemplo n.º 2
0
 /**
  * @param LifecycleEventArgs $args
  */
 public function prePersist(LifeCycleEventArgs $args)
 {
     /** @var UrlInterface $object */
     $object = $args->getDocument();
     if ($object instanceof UrlInterface) {
         $urlUtility = new UrlUtility();
         $processedUrl = $urlUtility->process($object->getMetaUrl());
         $found = $args->getDocumentManager()->getRepository(get_class($object))->findOneBy(['metaUrl' => $processedUrl]);
         if ($found) {
             throw new \LogicException('Given URL already exists');
         }
         $object->setMetaUrl($processedUrl);
     }
 }
Ejemplo n.º 3
0
 /**
  * @param LifecycleEventArgs $args
  */
 private function updateChildren(LifeCycleEventArgs $args)
 {
     $dm = $args->getDocumentManager();
     /** @var NodeInterface $object */
     /** @var Category $parent */
     /** @var Category $child */
     $object = $args->getDocument();
     if ($object instanceof NodeInterface) {
         //            var_dump($object->getParent());
         if ($parent = $object->getParent()) {
             foreach ($parent->getChildren() as $child) {
                 if ($child->getId() == $object->getId()) {
                     $parent->removeChild($child);
                 }
             }
             $parent->addChild($object);
             $dm->persist($parent);
             $dm->flush();
         }
     }
 }