23 lines
547 B
PHP
23 lines
547 B
PHP
<?php
|
|
declare(strict_types=1);
|
|
|
|
namespace Esun\FreeGift\Observer;
|
|
|
|
use Magento\Framework\Event\Observer;
|
|
use Magento\Framework\Event\ObserverInterface;
|
|
use Magento\Quote\Model\Quote;
|
|
|
|
class ValidateGiftBeforeSubmit implements ObserverInterface
|
|
{
|
|
public function execute(Observer $observer): void
|
|
{
|
|
$quote = $observer->getEvent()->getQuote();
|
|
if (!$quote instanceof Quote || !(int)$quote->getStoreId()) {
|
|
return;
|
|
}
|
|
|
|
$quote->setTotalsCollectedFlag(false);
|
|
$quote->collectTotals();
|
|
}
|
|
}
|