src/AppBundle/EventListener/VariantEventListener.php line 28

Open in your IDE?
  1. <?php
  2. namespace AppBundle\EventListener;
  3. use Acl\Koe\ImportBundle\Service\VariantenService;
  4. use Pimcore\Event\Model\ElementEventInterface;
  5. use Pimcore\Model\DataObject\Varianten;
  6. use Symfony\Component\Messenger\MessageBusInterface;
  7. class VariantEventListener extends DataObjectEventListener
  8. {
  9.     const PIMCORE_DATA_OBJECT_CLASS_PATH Varianten::class;
  10.     protected $object;
  11.     /**
  12.      * @param MessageBusInterface $messageBus
  13.      */
  14.     public function __construct(MessageBusInterface $messageBus) {
  15.         parent::__construct($messageBus);
  16.     }
  17.     /**
  18.      * @param ElementEventInterface $event
  19.      * @return void
  20.      * @throws \Doctrine\DBAL\DBALException
  21.      */
  22.     public function onObjectPreUpdate(ElementEventInterface $event): void
  23.     {
  24.         // Not varianten?
  25.         if (!$this->eventBelongsToThisClass($event)) {
  26.             return;
  27.         }
  28.         if ($this->isGUIRequest()) {
  29.             if ($this->object->getModellnummer() === "SUPPLEMENT_ARTICLE") {
  30.                 $identNumber VariantenService::generateIdentNumberFromVariantNumber($this->object->getVariantennummer());
  31.                 $this->object->setIdentnummer($identNumber);
  32.             }
  33.         }
  34.     }
  35.     /**
  36.      * @param ElementEventInterface $event
  37.      * @return void
  38.      */
  39.     public function onObjectPreSave(ElementEventInterface $event): void
  40.     {
  41.         // Not varianten?
  42.         if (!$this->eventBelongsToThisClass($event)) {
  43.             return;
  44.         }
  45.         if ($this->isGUIRequest()) {
  46.             if ($this->object->getModellnummer() === "SUPPLEMENT_ARTICLE") {
  47.                 $identNumber VariantenService::generateIdentNumberFromVariantNumber($this->object->getVariantennummer());
  48.                 $this->object->setIdentnummer($identNumber);
  49.             }
  50.         }
  51.     }
  52. }