_getSession()->clearStorage(); $orderId = $this->getRequest()->getParam('order_id'); $order = $this->_objectManager->create(\Magento\Sales\Model\Order::class)->load($orderId); /** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */ $resultRedirect = $this->resultRedirectFactory->create(); try { if ($order->getId()) { $this->_getSession()->setUseOldShippingMethod(true); $this->_getOrderCreateModel()->initFromOrder($order); $resultRedirect->setPath('sales/*'); } else { $resultRedirect->setPath('sales/order/'); } } catch (\Magento\Framework\Exception\LocalizedException $e) { $this->messageManager->addErrorMessage($e->getMessage()); $resultRedirect->setPath('sales/order/view', ['order_id' => $orderId]); } catch (\Exception $e) { $this->messageManager->addExceptionMessage($e, $e->getMessage()); $resultRedirect->setPath('sales/order/view', ['order_id' => $orderId]); } return $resultRedirect; } }