Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
UpdateOrderStatusForPaymentMethodsObserver.php
Go to the documentation of this file.
1 <?php
8 
10 
12 {
16  protected $_salesOrderConfig;
17 
21  protected $_paymentConfig;
22 
26  protected $_resourceConfig;
27 
35  public function __construct(
36  \Magento\Sales\Model\Order\Config $salesOrderConfig,
37  \Magento\Payment\Model\Config $paymentConfig,
38  \Magento\Config\Model\ResourceModel\Config $resourceConfig
39  ) {
40  $this->_salesOrderConfig = $salesOrderConfig;
41  $this->_paymentConfig = $paymentConfig;
42  $this->_resourceConfig = $resourceConfig;
43  }
44 
49  public function execute(\Magento\Framework\Event\Observer $observer)
50  {
51  if ($observer->getEvent()->getState() != \Magento\Sales\Model\Order::STATE_NEW) {
52  return;
53  }
54  $status = $observer->getEvent()->getStatus();
55  $defaultStatus = $this->_salesOrderConfig->getStateDefaultStatus(\Magento\Sales\Model\Order::STATE_NEW);
56  $methods = $this->_paymentConfig->getActiveMethods();
57  foreach ($methods as $method) {
58  if ($method->getConfigData('order_status') == $status) {
59  $this->_resourceConfig->saveConfig(
60  'payment/' . $method->getCode() . '/order_status',
61  $defaultStatus,
62  'default',
63  0
64  );
65  }
66  }
67  }
68 }
__construct(\Magento\Sales\Model\Order\Config $salesOrderConfig, \Magento\Payment\Model\Config $paymentConfig, \Magento\Config\Model\ResourceModel\Config $resourceConfig)
$methods
Definition: billing.phtml:71
$status
Definition: order_status.php:8
$method
Definition: info.phtml:13