![]() 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/Shipment/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Sales\Model\ResourceModel\Order\Shipment; use Magento\Sales\Model\ResourceModel\EntityAbstract as SalesResource; use Magento\Framework\Model\ResourceModel\Db\VersionControl\Snapshot; use Magento\Sales\Model\Spi\ShipmentTrackResourceInterface; /** * Flat sales order shipment comment resource * * @author Magento Core Team <[email protected]> */ class Track extends SalesResource implements ShipmentTrackResourceInterface { /** * Event prefix * * @var string */ protected $_eventPrefix = 'sales_order_shipment_track_resource'; /** * Validator * * @var \Magento\Sales\Model\Order\Shipment\Track\Validator */ protected $validator; /** * @param \Magento\Framework\Model\ResourceModel\Db\Context $context * @param \Magento\Sales\Model\ResourceModel\Attribute $attribute * @param \Magento\SalesSequence\Model\Manager $sequenceManager * @param Snapshot $entitySnapshot * @param \Magento\Framework\Model\ResourceModel\Db\VersionControl\RelationComposite $entityRelationComposite * @param \Magento\Sales\Model\Order\Shipment\Track\Validator $validator * @param string $connectionName */ public function __construct( \Magento\Framework\Model\ResourceModel\Db\Context $context, Snapshot $entitySnapshot, \Magento\Framework\Model\ResourceModel\Db\VersionControl\RelationComposite $entityRelationComposite, \Magento\Sales\Model\ResourceModel\Attribute $attribute, \Magento\SalesSequence\Model\Manager $sequenceManager, \Magento\Sales\Model\Order\Shipment\Track\Validator $validator, $connectionName = null ) { $this->validator = $validator; parent::__construct( $context, $entitySnapshot, $entityRelationComposite, $attribute, $sequenceManager, $connectionName ); } /** * Model initialization * * @return void */ protected function _construct() { $this->_init('sales_shipment_track', 'entity_id'); } /** * Performs validation before save * * @param \Magento\Framework\Model\AbstractModel $object * @return $this * @throws \Magento\Framework\Exception\LocalizedException */ protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object) { /** @var \Magento\Sales\Model\Order\Shipment\Track $object */ if (!$object->getParentId() && $object->getShipment()) { $object->setParentId($object->getShipment()->getId()); } parent::_beforeSave($object); $errors = $this->validator->validate($object); if (!empty($errors)) { throw new \Magento\Framework\Exception\LocalizedException( __("Cannot save track:\n%1", implode("\n", $errors)) ); } return $this; } }