registry = $registry; $this->sourceRepository = $sourceRepository; } /** * Retrieve shipment model instance * * @return Shipment */ public function getShipment() { return $this->registry->registry('current_shipment'); } /** * Retrieve source code from shipment * * @return null|string */ public function getSourceCode() { $shipment = $this->getShipment(); $extensionAttributes = $shipment->getExtensionAttributes(); if ($sourceCode = $extensionAttributes->getSourceCode()) { return $sourceCode; } return null; } /** * Get source name by code * * @param $sourceCode * @return mixed * @throws \Magento\Framework\Exception\NoSuchEntityException */ public function getSourceName(string $sourceCode): string { return $this->sourceRepository->get($sourceCode)->getName(); } }