Email.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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;
  7. class Email extends \Magento\Sales\Controller\Adminhtml\Order
  8. {
  9. /**
  10. * Authorization level of a basic admin session
  11. *
  12. * @see _isAllowed()
  13. */
  14. const ADMIN_RESOURCE = 'Magento_Sales::email';
  15. /**
  16. * Notify user
  17. *
  18. * @return \Magento\Backend\Model\View\Result\Redirect
  19. */
  20. public function execute()
  21. {
  22. $order = $this->_initOrder();
  23. if ($order) {
  24. try {
  25. $this->orderManagement->notify($order->getEntityId());
  26. $this->messageManager->addSuccessMessage(__('You sent the order email.'));
  27. } catch (\Magento\Framework\Exception\LocalizedException $e) {
  28. $this->messageManager->addErrorMessage($e->getMessage());
  29. } catch (\Exception $e) {
  30. $this->messageManager->addErrorMessage(__('We can\'t send the email order right now.'));
  31. $this->logger->critical($e);
  32. }
  33. return $this->resultRedirectFactory->create()->setPath(
  34. 'sales/order/view',
  35. [
  36. 'order_id' => $order->getEntityId()
  37. ]
  38. );
  39. }
  40. return $this->resultRedirectFactory->create()->setPath('sales/*/');
  41. }
  42. }