12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Shipping\Model\Order;
- use Magento\Framework\Api\AttributeValueFactory;
- /**
- * @method int getParentId()
- * @method float getWeight()
- * @method float getQty()
- * @method int getOrderId()
- * @method string getDescription()
- * @method string getTitle()
- * @method string getCarrierCode()
- * @method string getCreatedAt()
- * @method string getUpdatedAt()
- * @method \Magento\Sales\Api\Data\ShipmentTrackExtensionInterface getExtensionAttributes()
- */
- class Track extends \Magento\Sales\Model\Order\Shipment\Track
- {
- /**
- * @var \Magento\Shipping\Model\CarrierFactory
- */
- protected $_carrierFactory;
- /**
- * @param \Magento\Framework\Model\Context $context
- * @param \Magento\Framework\Registry $registry
- * @param \Magento\Framework\Api\ExtensionAttributesFactory $extensionFactory
- * @param AttributeValueFactory $customAttributeFactory
- * @param \Magento\Store\Model\StoreManagerInterface $storeManager
- * @param \Magento\Sales\Api\ShipmentRepositoryInterface $shipmentRepository
- * @param \Magento\Shipping\Model\CarrierFactory $carrierFactory
- * @param \Magento\Framework\Model\ResourceModel\AbstractResource $resource
- * @param \Magento\Framework\Data\Collection\AbstractDb $resourceCollection
- * @param array $data
- *
- * @SuppressWarnings(PHPMD.ExcessiveParameterList)
- */
- public function __construct(
- \Magento\Framework\Model\Context $context,
- \Magento\Framework\Registry $registry,
- \Magento\Framework\Api\ExtensionAttributesFactory $extensionFactory,
- AttributeValueFactory $customAttributeFactory,
- \Magento\Store\Model\StoreManagerInterface $storeManager,
- \Magento\Sales\Api\ShipmentRepositoryInterface $shipmentRepository,
- \Magento\Shipping\Model\CarrierFactory $carrierFactory,
- \Magento\Framework\Model\ResourceModel\AbstractResource $resource = null,
- \Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null,
- array $data = []
- ) {
- parent::__construct(
- $context,
- $registry,
- $extensionFactory,
- $customAttributeFactory,
- $storeManager,
- $shipmentRepository,
- $resource,
- $resourceCollection,
- $data
- );
- $this->_carrierFactory = $carrierFactory;
- }
- /**
- * Retrieve detail for shipment track
- *
- * @return \Magento\Framework\Phrase|string
- */
- public function getNumberDetail()
- {
- $carrierInstance = $this->_carrierFactory->create($this->getCarrierCode());
- if (!$carrierInstance) {
- $custom = [];
- $custom['title'] = $this->getTitle();
- $custom['number'] = $this->getTrackNumber();
- return $custom;
- } else {
- $carrierInstance->setStore($this->getStore());
- }
- $trackingInfo = $carrierInstance->getTrackingInfo($this->getNumber());
- if (!$trackingInfo) {
- return __('No detail for number "%1"', $this->getNumber());
- }
- return $trackingInfo;
- }
- }
|