![]() 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/old/vendor/magento/module-sales-rule/Observer/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\SalesRule\Observer; use Magento\Framework\Event\Observer; use Magento\Framework\Event\ObserverInterface; use Magento\SalesRule\Model\Rule; use Magento\SalesRule\Model\Spi\RuleQuoteRecollectTotalsInterface; /** * Forces related quotes to be recollected for inactive rule. */ class RuleQuoteRecollectTotalsObserver implements ObserverInterface { /** * @var RuleQuoteRecollectTotalsInterface */ private $recollectTotals; /** * Initializes dependencies * * @param RuleQuoteRecollectTotalsInterface $recollectTotals */ public function __construct(RuleQuoteRecollectTotalsInterface $recollectTotals) { $this->recollectTotals = $recollectTotals; } /** * Forces related quotes to be recollected, if the rule was disabled or deleted. * * @param Observer $observer * @return void */ public function execute(Observer $observer): void { /** @var Rule $rule */ $rule = $observer->getRule(); if (!$rule->isObjectNew() && ($rule->isDeleted() || ($rule->dataHasChangedFor('is_active') && !$rule->getIsActive())) ) { $this->recollectTotals->execute((int) $rule->getId()); } } }