![]() 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/cartforge.co/vendor/magento/module-sales/Model/ResourceModel/Order/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Sales\Model\ResourceModel\Order; use Magento\Framework\App\ResourceConnection as AppResource; use Magento\SalesSequence\Model\Manager; use Magento\Sales\Model\ResourceModel\Attribute; use Magento\Sales\Model\ResourceModel\EntityAbstract as SalesResource; use Magento\Sales\Model\Spi\ShipmentResourceInterface; /** * Flat sales order shipment resource * * @author Magento Core Team <[email protected]> */ class Shipment extends SalesResource implements ShipmentResourceInterface { /** * Event prefix * * @var string */ protected $_eventPrefix = 'sales_order_shipment_resource'; /** * Fields that should be serialized before persistence * * @var array */ protected $_serializableFields = ['packages' => [[], []]]; /** * Model initialization * * @return void */ protected function _construct() { $this->_init('sales_shipment', 'entity_id'); } /** * Perform actions before object save * * @param \Magento\Framework\Model\AbstractModel|\Magento\Framework\DataObject $object * @return $this * @throws \Magento\Framework\Exception\LocalizedException */ protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object) { /** @var \Magento\Sales\Model\Order\Shipment $object */ if ((!$object->getId() || null !== $object->getItems()) && !count($object->getAllItems())) { throw new \Magento\Framework\Exception\LocalizedException(__('We cannot create an empty shipment.')); } if (!$object->getOrderId() && $object->getOrder()) { $object->setOrderId($object->getOrder()->getId()); $object->setShippingAddressId($object->getOrder()->getShippingAddress()->getId()); } return parent::_beforeSave($object); } }