* @author Rhodri Davies * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) * @link http://www.temando.com/ * * @api * @deprecated since 1.1.3 | Block data is provided by view model * @see \Temando\Shipping\ViewModel\Shipment\ShipmentDetails */ class Package extends BackendTemplate { /** * @var ShipmentProviderInterface */ private $shipmentProvider; /** * @var RmaAccess */ private $rmaAccess; /** * @param Context $context * @param ShipmentProviderInterface $shipmentProvider * @param RmaAccess $rmaAccess * @param mixed[] $data */ public function __construct( Context $context, ShipmentProviderInterface $shipmentProvider, RmaAccess $rmaAccess, array $data = [] ) { $this->shipmentProvider = $shipmentProvider; $this->rmaAccess = $rmaAccess; parent::__construct($context, $data); } /** * Set package from dispatch or shipment to block * * @return BackendTemplate */ protected function _beforeToHtml() { if (!$this->hasData('packages')) { if ($this->shipmentProvider->getShipment()) { /** @var ShipmentInterface $platformShipment */ $platformShipment = $this->shipmentProvider->getShipment(); $this->setData('packages', $platformShipment->getPackages()); } elseif ($this->rmaAccess->getCurrentRmaShipment()) { /** @var ShipmentInterface $platformShipment */ $platformShipment = $this->rmaAccess->getCurrentRmaShipment(); $this->setData('packages', $platformShipment->getPackages()); } } return parent::_beforeToHtml(); } /** * @return PackageInterface[] */ public function getPackages() { return $this->hasData('packages') ? $this->getData('packages') : []; } }