![]() 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/Ecombricks/InventorySales/Plugin/Model/Order/ |
<?php /** * Copyright © eComBricks. All rights reserved. * See COPYING.txt for license details. */ namespace Ecombricks\InventorySales\Plugin\Model\Order; /** * Order shipment factory plugin */ class ShipmentFactory { /** * Scope config * * @var \Magento\Shipping\Model\CarrierFactory */ protected $scopeConfig; /** * Carrier factory * * @var \Magento\Shipping\Model\CarrierFactory */ protected $carrierFactory; /** * Constructor * * @param \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig * @param \Magento\Shipping\Model\CarrierFactory $carrierFactory * @return void */ public function __construct( \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, \Magento\Shipping\Model\CarrierFactory $carrierFactory ) { $this->scopeConfig = $scopeConfig; $this->carrierFactory = $carrierFactory; } /** * After create * * @param \Magento\Sales\Model\Order\ShipmentFactory $subject * @param \Magento\Sales\Api\Data\ShipmentInterface $shipment * @param \Magento\Sales\Model\Order $order * @return \Magento\Sales\Api\Data\ShipmentInterface */ public function afterCreate( \Magento\Sales\Model\Order\ShipmentFactory $subject, \Magento\Sales\Api\Data\ShipmentInterface $shipment, \Magento\Sales\Model\Order $order ) { $shipmentExtension = $shipment->getExtensionAttributes(); if (!empty($shipmentExtension)) { $sourceCode = $shipmentExtension->getSourceCode(); } else { $sourceCode = null; } $this->scopeConfig->setSourceCode($sourceCode); $this->carrierFactory->setSourceCode($sourceCode); return $shipment; } }