![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/app/code/Amasty/Label/Observer/CatalogAttribute/ |
<?php declare(strict_types=1); /** * @author Amasty Team * @copyright Copyright (c) Amasty (https://www.amasty.com) * @package Product Labels for Magento 2 */ namespace Amasty\Label\Observer\CatalogAttribute; use Magento\Catalog\Model\ResourceModel\Eav\Attribute; use Magento\Framework\Event\Observer as EventObserver; use Magento\Framework\Event\ObserverInterface; /** * event catalog_entity_attribute_delete_after * observer name Amasty_Label::DisableAttributeRules */ class DeleteAfterObserver implements ObserverInterface { /** * @var CheckLabelRulesAvailability */ private $rulesChecker; public function __construct( CheckLabelRulesAvailability $rulesChecker ) { $this->rulesChecker = $rulesChecker; } /** * After delete attribute check rules that contains deleted attribute * If rules was found they will set to inactive and added notice to admin session */ public function execute(EventObserver $observer): void { /** @var Attribute $attribute */ $attribute = $observer->getEvent()->getData('attribute'); if ($attribute->getIsUsedForPromoRules()) { $attributeCode = $attribute->getAttributeCode(); $count = $this->rulesChecker->disableRulesWithAttribute($attributeCode); $this->rulesChecker->addMessageWithCountForAttribute($count, $attributeCode); } } }