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 {
19 
23  protected $_coreRegistry;
24 
28  protected $resultPageFactory;
29 
34 
42  public function __construct(
43  Context $context,
45  \Magento\Framework\Registry $registry,
48  ) {
49  $this->orderAuthorization = $orderAuthorization;
50  $this->_coreRegistry = $registry;
51  $this->resultPageFactory = $resultPageFactory;
52  $this->creditmemoRepository = $creditmemoRepository;
53  parent::__construct($context);
54  }
55 
61  public function execute()
62  {
63  $creditmemoId = (int)$this->getRequest()->getParam('creditmemo_id');
64  if ($creditmemoId) {
65  $creditmemo = $this->creditmemoRepository->get($creditmemoId);
66  $order = $creditmemo->getOrder();
67  } else {
68  $orderId = (int)$this->getRequest()->getParam('order_id');
69  $order = $this->_objectManager->create(\Magento\Sales\Model\Order::class)->load($orderId);
70  }
71 
72  if ($this->orderAuthorization->canView($order)) {
73  $this->_coreRegistry->register('current_order', $order);
74  if (isset($creditmemo)) {
75  $this->_coreRegistry->register('current_creditmemo', $creditmemo);
76  }
78  $resultPage = $this->resultPageFactory->create();
79  $resultPage->addHandle('print');
80  return $resultPage;
81  } else {
83  $resultRedirect = $this->resultRedirectFactory->create();
84  if ($this->_objectManager->get(\Magento\Customer\Model\Session::class)->isLoggedIn()) {
85  $resultRedirect->setPath('*/*/history');
86  } else {
87  $resultRedirect->setPath('sales/guest/form');
88  }
89  return $resultRedirect;
90  }
91  }
92 }
$order
Definition: order.php:55
__construct(Context $context, OrderViewAuthorizationInterface $orderAuthorization, \Magento\Framework\Registry $registry, PageFactory $resultPageFactory, CreditmemoRepositoryInterface $creditmemoRepository)