![]() 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/redchamps/module-total-adjustment/Observers/ |
<?php /** * @author RedChamps Team * @copyright Copyright (c) RedChamps (https://redchamps.com/) * @package RedChamps_TotalAdjustment */ namespace RedChamps\TotalAdjustment\Observers; use Magento\Framework\Event\Observer; use Magento\Framework\Event\ObserverInterface; use RedChamps\TotalAdjustment\Model\AdjustmentManager; class OrderCreateProcessData implements ObserverInterface { /** * @var AdjustmentManager */ private $adjustmentManager; public function __construct(AdjustmentManager $adjustmentManager) { $this->adjustmentManager = $adjustmentManager; } public function execute(Observer $observer) { $request = $observer->getEvent()->getRequest(); if (isset($request['adjustments'])) { $model = $observer->getEvent()->getOrderCreateModel(); $quote = $model->getQuote(); if ($request['adjustments'] == 'remove-all') { $adjustmentsData = []; } else { $adjustmentsData = $this->adjustmentManager->decodeAdjustments($request['adjustments']); } $adjustments = []; foreach ($adjustmentsData as $adjustment) { $adjustments[] = [ "title" => $adjustment["title"], "type" => $adjustment["type"], "amount" => $adjustment["amount"] ]; } //if (count($adjustments)) { $adjustments = $this->adjustmentManager->encodeAdjustments($adjustments); $quote->getShippingAddress()->setAdjustments($adjustments); $quote->setAdjustments($adjustments); //} } } }