![]() 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 Magento\Sales\Api\Data\InvoiceExtension; use RedChamps\TotalAdjustment\Model\AdjustmentManager; class SalesInvoiceLoadAfter implements ObserverInterface { protected $invoiceExtension; protected $adjustmentManager; public function __construct( InvoiceExtension $invoiceExtension, AdjustmentManager $adjustmentManager ) { $this->invoiceExtension = $invoiceExtension; $this->adjustmentManager = $adjustmentManager; } public function execute(Observer $observer) { $invoice = $observer->getInvoice(); $extensionAttributes = $invoice->getExtensionAttributes(); if ($extensionAttributes === null) { $extensionAttributes = $this->invoiceExtension; } $adjustments = $invoice->getData('adjustments'); $adjustmentsInvoiced = $invoice->getData('adjustments_invoiced'); $extensionAttributes->setAdjustments( $this->adjustmentManager->decodeAdjustments($adjustments) ); $extensionAttributes->setAdjustmentsInvoiced( $this->adjustmentManager->decodeAdjustments($adjustmentsInvoiced) ); $invoice->setExtensionAttributes($extensionAttributes); } }