<?php
namespace AppBundle\EventListener;
use Acl\Koe\ImportBundle\Service\VariantenService;
use Pimcore\Event\Model\ElementEventInterface;
use Pimcore\Model\DataObject\Varianten;
use Symfony\Component\Messenger\MessageBusInterface;
class VariantEventListener extends DataObjectEventListener
{
const PIMCORE_DATA_OBJECT_CLASS_PATH = Varianten::class;
protected $object;
/**
* @param MessageBusInterface $messageBus
*/
public function __construct(MessageBusInterface $messageBus) {
parent::__construct($messageBus);
}
/**
* @param ElementEventInterface $event
* @return void
* @throws \Doctrine\DBAL\DBALException
*/
public function onObjectPreUpdate(ElementEventInterface $event): void
{
// Not varianten?
if (!$this->eventBelongsToThisClass($event)) {
return;
}
if ($this->isGUIRequest()) {
if ($this->object->getModellnummer() === "SUPPLEMENT_ARTICLE") {
$identNumber = VariantenService::generateIdentNumberFromVariantNumber($this->object->getVariantennummer());
$this->object->setIdentnummer($identNumber);
}
}
}
/**
* @param ElementEventInterface $event
* @return void
*/
public function onObjectPreSave(ElementEventInterface $event): void
{
// Not varianten?
if (!$this->eventBelongsToThisClass($event)) {
return;
}
if ($this->isGUIRequest()) {
if ($this->object->getModellnummer() === "SUPPLEMENT_ARTICLE") {
$identNumber = VariantenService::generateIdentNumberFromVariantNumber($this->object->getVariantennummer());
$this->object->setIdentnummer($identNumber);
}
}
}
}