View.php 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Sales\Controller\Adminhtml\Order\Creditmemo;
  7. use Magento\Backend\App\Action;
  8. class View extends \Magento\Backend\App\Action
  9. {
  10. /**
  11. * Authorization level of a basic admin session
  12. *
  13. * @see _isAllowed()
  14. */
  15. const ADMIN_RESOURCE = 'Magento_Sales::sales_creditmemo';
  16. /**
  17. * @var \Magento\Sales\Controller\Adminhtml\Order\CreditmemoLoader
  18. */
  19. protected $creditmemoLoader;
  20. /**
  21. * @var \Magento\Framework\View\Result\PageFactory
  22. */
  23. protected $resultPageFactory;
  24. /**
  25. * @var \Magento\Backend\Model\View\Result\ForwardFactory
  26. */
  27. protected $resultForwardFactory;
  28. /**
  29. * @param Action\Context $context
  30. * @param \Magento\Sales\Controller\Adminhtml\Order\CreditmemoLoader $creditmemoLoader
  31. * @param \Magento\Framework\View\Result\PageFactory $resultPageFactory
  32. * @param \Magento\Backend\Model\View\Result\ForwardFactory $resultForwardFactory
  33. */
  34. public function __construct(
  35. Action\Context $context,
  36. \Magento\Sales\Controller\Adminhtml\Order\CreditmemoLoader $creditmemoLoader,
  37. \Magento\Framework\View\Result\PageFactory $resultPageFactory,
  38. \Magento\Backend\Model\View\Result\ForwardFactory $resultForwardFactory
  39. ) {
  40. $this->creditmemoLoader = $creditmemoLoader;
  41. $this->resultPageFactory = $resultPageFactory;
  42. $this->resultForwardFactory = $resultForwardFactory;
  43. parent::__construct($context);
  44. }
  45. /**
  46. * Creditmemo information page
  47. *
  48. * @return \Magento\Backend\Model\View\Result\Page|\Magento\Backend\Model\View\Result\Forward
  49. */
  50. public function execute()
  51. {
  52. $this->creditmemoLoader->setOrderId($this->getRequest()->getParam('order_id'));
  53. $this->creditmemoLoader->setCreditmemoId($this->getRequest()->getParam('creditmemo_id'));
  54. $this->creditmemoLoader->setCreditmemo($this->getRequest()->getParam('creditmemo'));
  55. $this->creditmemoLoader->setInvoiceId($this->getRequest()->getParam('invoice_id'));
  56. $creditmemo = $this->creditmemoLoader->load();
  57. if ($creditmemo) {
  58. $resultPage = $this->resultPageFactory->create();
  59. $resultPage->getLayout()->getBlock('sales_creditmemo_view')
  60. ->updateBackButtonUrl($this->getRequest()->getParam('come_from'));
  61. $resultPage->setActiveMenu('Magento_Sales::sales_creditmemo');
  62. if ($creditmemo->getInvoice()) {
  63. $resultPage->getConfig()->getTitle()->prepend(
  64. __("View Memo for #%1", $creditmemo->getInvoice()->getIncrementId())
  65. );
  66. } else {
  67. $resultPage->getConfig()->getTitle()->prepend(__("View Memo"));
  68. }
  69. return $resultPage;
  70. } else {
  71. $resultForward = $this->resultForwardFactory->create();
  72. $resultForward->forward('noroute');
  73. return $resultForward;
  74. }
  75. }
  76. }