registry = $registry; $this->resultForwardFactory = $resultForwardFactory; $this->invoiceRepository = $invoiceRepository ?: ObjectManager::getInstance()->get(InvoiceRepositoryInterface::class); } /** * Invoice information page * * @return \Magento\Backend\Model\View\Result\Forward */ public function execute() { $resultForward = $this->resultForwardFactory->create(); if ($this->getRequest()->getParam('invoice_id')) { $resultForward->setController('order_invoice') ->setParams(['come_from' => 'invoice']) ->forward('view'); } else { $resultForward->forward('noroute'); } return $resultForward; } /** * Get invoice using invoice Id from request params * * @return \Magento\Sales\Model\Order\Invoice|bool */ protected function getInvoice() { try { $invoice = $this->invoiceRepository->get($this->getRequest()->getParam('invoice_id')); $this->registry->register('current_invoice', $invoice); } catch (\Exception $e) { $this->messageManager->addErrorMessage(__('Invoice capturing error')); return false; } return $invoice; } }