3
3
* Copyright © Magento, Inc. All rights reserved.
4
4
* See COPYING.txt for license details.
5
5
*/
6
+
6
7
namespace Magento \Sales \Controller \Adminhtml \Order \Create ;
7
8
8
9
use Magento \Framework \Exception \PaymentException ;
@@ -12,14 +13,15 @@ class Save extends \Magento\Sales\Controller\Adminhtml\Order\Create
12
13
/**
13
14
* Saving quote and create order
14
15
*
15
- * @return \Magento\Backend\Model\View\Result\Forward|\Magento\Backend\Model\View\Result\Redirect
16
+ * @return \Magento\Framework\Controller\ResultInterface
16
17
*
17
18
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
18
19
*/
19
20
public function execute ()
20
21
{
21
- /** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */
22
- $ resultRedirect = $ this ->resultRedirectFactory ->create ();
22
+ $ path = 'sales/*/ ' ;
23
+ $ pathParams = [];
24
+
23
25
try {
24
26
// check if the creation of a new customer is allowed
25
27
if (!$ this ->_authorization ->isAllowed ('Magento_Customer::manage ' )
@@ -49,31 +51,30 @@ public function execute()
49
51
->createOrder ();
50
52
51
53
$ this ->_getSession ()->clearStorage ();
52
- $ this ->messageManager ->addSuccess (__ ('You created the order. ' ));
54
+ $ this ->messageManager ->addSuccessMessage (__ ('You created the order. ' ));
53
55
if ($ this ->_authorization ->isAllowed ('Magento_Sales::actions_view ' )) {
54
- $ resultRedirect ->setPath ('sales/order/view ' , ['order_id ' => $ order ->getId ()]);
56
+ $ pathParams = ['order_id ' => $ order ->getId ()];
57
+ $ path = 'sales/order/view ' ;
55
58
} else {
56
- $ resultRedirect -> setPath ( 'sales/order/index ' ) ;
59
+ $ path = 'sales/order/index ' ;
57
60
}
58
61
} catch (PaymentException $ e ) {
59
62
$ this ->_getOrderCreateModel ()->saveQuote ();
60
63
$ message = $ e ->getMessage ();
61
64
if (!empty ($ message )) {
62
- $ this ->messageManager ->addError ($ message );
65
+ $ this ->messageManager ->addErrorMessage ($ message );
63
66
}
64
- $ resultRedirect ->setPath ('sales/*/ ' );
65
67
} catch (\Magento \Framework \Exception \LocalizedException $ e ) {
66
68
// customer can be created before place order flow is completed and should be stored in current session
67
- $ this ->_getSession ()->setCustomerId ($ this ->_getSession ()->getQuote ()->getCustomerId ());
69
+ $ this ->_getSession ()->setCustomerId (( int ) $ this ->_getSession ()->getQuote ()->getCustomerId ());
68
70
$ message = $ e ->getMessage ();
69
71
if (!empty ($ message )) {
70
- $ this ->messageManager ->addError ($ message );
72
+ $ this ->messageManager ->addErrorMessage ($ message );
71
73
}
72
- $ resultRedirect ->setPath ('sales/*/ ' );
73
74
} catch (\Exception $ e ) {
74
- $ this ->messageManager ->addException ($ e , __ ('Order saving error: %1 ' , $ e ->getMessage ()));
75
- $ resultRedirect ->setPath ('sales/*/ ' );
75
+ $ this ->messageManager ->addExceptionMessage ($ e , __ ('Order saving error: %1 ' , $ e ->getMessage ()));
76
76
}
77
- return $ resultRedirect ;
77
+
78
+ return $ this ->resultRedirectFactory ->create ()->setPath ($ path , $ pathParams );
78
79
}
79
80
}
0 commit comments