Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
PrintCreditmemo.php
Go to the documentation of this file.
1 <?php
8 
12 
14 {
18  protected $orderLoader;
19 
24 
33  public function __construct(
34  Context $context,
36  \Magento\Framework\Registry $registry,
40  ) {
41  $this->orderLoader = $orderLoader;
42  $this->creditmemoRepository = $creditmemoRepository;
43  parent::__construct(
44  $context,
46  $registry,
49  );
50  }
51 
55  public function execute()
56  {
57  $result = $this->orderLoader->load($this->_request);
58  if ($result instanceof \Magento\Framework\Controller\ResultInterface) {
59  return $result;
60  }
61 
62  $creditmemoId = (int)$this->getRequest()->getParam('creditmemo_id');
63  if ($creditmemoId) {
64  $creditmemo = $this->creditmemoRepository->get($creditmemoId);
65  $order = $creditmemo->getOrder();
66  } else {
67  $order = $this->_coreRegistry->registry('current_order');
68  }
69 
70  if ($this->orderAuthorization->canView($order)) {
71  if (isset($creditmemo)) {
72  $this->_coreRegistry->register('current_creditmemo', $creditmemo);
73  }
74  return $this->resultPageFactory->create()->addHandle('print');
75  } else {
76  return $this->resultRedirectFactory->create()->setPath('sales/guest/form');
77  }
78  }
79 }
$order
Definition: order.php:55
__construct(Context $context, OrderViewAuthorization $orderAuthorization, \Magento\Framework\Registry $registry, PageFactory $resultPageFactory, CreditmemoRepositoryInterface $creditmemoRepository, OrderLoader $orderLoader)