bundles/Insign/FormDataBundle/Event/AssetsEventListener.php line 24

Open in your IDE?
  1. <?php
  2. /**
  3.  * Copyright insign gmbh. All rights reserved.
  4.  * See COPYING.txt for license details.
  5.  */
  6. declare(strict_types=1);
  7. namespace Insign\FormDataBundle\Event;
  8. use Pimcore\Event\Model\Asset\ResolveUploadTargetEvent;
  9. use Pimcore\Model\Asset\Service;
  10. use Pimcore\Model\DataObject\AbstractObject;
  11. class AssetsEventListener
  12. {
  13.     /**
  14.      * @param ResolveUploadTargetEvent $event
  15.      * @return void
  16.      * @throws \Exception
  17.      */
  18.     public function onResolveUploadTarget(ResolveUploadTargetEvent $event)
  19.     {
  20.         $context $event->getContext();
  21.         if ($context["containerType"] == "object") {
  22.             $objectId $context["objectId"];
  23.             $object AbstractObject::getById($objectId);
  24.             if ($object) {
  25.                 $className $object->getClass()->getName();
  26.                 if($className == 'Krankheitsmeldung' || $className === 'Unfallmeldung') {
  27.                     $uuid $object->getInterne_Schadennummer();
  28.                     $targetPath '/' .$uuid "/";
  29.                     $parent Service::createFolderByPath($targetPath);
  30.                     if ($parent) {
  31.                         $event->setParentId($parent->getId());
  32.                     }
  33.                 }
  34.             }
  35.         }
  36.     }
  37. }