PrintAction.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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\Framework\App\ResponseInterface;
  8. use Magento\Backend\App\Action;
  9. use Magento\Sales\Api\CreditmemoRepositoryInterface;
  10. class PrintAction extends \Magento\Sales\Controller\Adminhtml\Creditmemo\AbstractCreditmemo\PrintAction
  11. {
  12. /**
  13. * @var \Magento\Sales\Controller\Adminhtml\Order\CreditmemoLoader
  14. */
  15. protected $creditmemoLoader;
  16. /**
  17. * @var CreditmemoRepositoryInterface
  18. */
  19. protected $creditmemoRepository;
  20. /**
  21. * @param Action\Context $context
  22. * @param \Magento\Framework\App\Response\Http\FileFactory $fileFactory
  23. * @param \Magento\Backend\Model\View\Result\ForwardFactory $resultForwardFactory
  24. * @param CreditmemoRepositoryInterface $creditmemoRepository
  25. * @param \Magento\Sales\Controller\Adminhtml\Order\CreditmemoLoader $creditmemoLoader
  26. */
  27. public function __construct(
  28. \Magento\Backend\App\Action\Context $context,
  29. \Magento\Framework\App\Response\Http\FileFactory $fileFactory,
  30. \Magento\Backend\Model\View\Result\ForwardFactory $resultForwardFactory,
  31. CreditmemoRepositoryInterface $creditmemoRepository,
  32. \Magento\Sales\Controller\Adminhtml\Order\CreditmemoLoader $creditmemoLoader
  33. ) {
  34. $this->creditmemoLoader = $creditmemoLoader;
  35. parent::__construct(
  36. $context,
  37. $fileFactory,
  38. $resultForwardFactory,
  39. $creditmemoRepository
  40. );
  41. }
  42. /**
  43. * Create pdf for current creditmemo
  44. *
  45. * @return ResponseInterface|\Magento\Backend\Model\View\Result\Forward
  46. */
  47. public function execute()
  48. {
  49. $this->creditmemoLoader->setOrderId($this->getRequest()->getParam('order_id'));
  50. $this->creditmemoLoader->setCreditmemoId($this->getRequest()->getParam('creditmemo_id'));
  51. $this->creditmemoLoader->setCreditmemo($this->getRequest()->getParam('creditmemo'));
  52. $this->creditmemoLoader->setInvoiceId($this->getRequest()->getParam('invoice_id'));
  53. $this->creditmemoLoader->load();
  54. return parent::execute();
  55. }
  56. }