<?php
/**
* Copyright insign gmbh. All rights reserved.
* See COPYING.txt for license details.
*/
declare(strict_types=1);
namespace Insign\FormDataBundle\Event;
use Insign\FormDataBundle\Services\Form\AssetsManager;
use Pimcore\Event\Model\ElementEventInterface;
use Pimcore\Event\Model\DataObjectEvent;
use Pimcore\Model\DataObject\Krankheitsmeldung;
use Pimcore\Model\DataObject\Unfallmeldung;
class DataObjectPostDeleteListener
{
private AssetsManager $assetsManager;
public function __construct(AssetsManager $assetsManager)
{
$this->assetsManager = $assetsManager;
}
public function onDataObjectPreDelete(ElementEventInterface $event)
{
if ($event instanceof DataObjectEvent) {
$dataObject = $event->getObject();
if($dataObject instanceof Krankheitsmeldung || ($dataObject instanceof Unfallmeldung)) {
$key = $dataObject->getInterne_Schadennummer();
if($key) {
$this->assetsManager->removeAssetsByUuid($key);
}
}
}
}
}