/** * After save attribute if it is not used for promo rules already check rules for containing this attribute * * @param EventObserver $observer * @return $this */ public function execute(EventObserver $observer) { $attribute = $observer->getEvent()->getAttribute(); if ($attribute->dataHasChangedFor('is_used_for_promo_rules') && !$attribute->getIsUsedForPromoRules()) { $this->checkSalesRulesAvailability->checkSalesRulesAvailability($attribute->getAttributeCode()); } return $this; }
/** * After delete attribute check rules that contains deleted attribute * If rules was found they will seted to inactive and added notice to admin session * * @param EventObserver $observer * @return $this */ public function execute(EventObserver $observer) { $attribute = $observer->getEvent()->getAttribute(); if ($attribute->getIsUsedForPromoRules()) { $this->checkSalesRulesAvailability->checkSalesRulesAvailability($attribute->getAttributeCode()); } return $this; }