We will work on Apr 26th (Saturday) and will be off from Apr 30th (Wednesday) until May 2nd (Friday) for public holiday in our country

Commit 73e31065 authored by Bas Maassen's avatar Bas Maassen Committed by GitHub

Set state (#287)

* Set state

* Add in constructor comments
parent b6cda614
...@@ -187,6 +187,11 @@ class Cron ...@@ -187,6 +187,11 @@ class Cron
*/ */
protected $_areaList; protected $_areaList;
/**
* @var \Magento\Sales\Model\ResourceModel\Order\Status\CollectionFactory
*/
protected $_orderStatusCollection;
/** /**
* Cron constructor. * Cron constructor.
* *
...@@ -203,7 +208,9 @@ class Cron ...@@ -203,7 +208,9 @@ class Cron
* @param Api\PaymentRequest $paymentRequest * @param Api\PaymentRequest $paymentRequest
* @param Order\PaymentFactory $adyenOrderPaymentFactory * @param Order\PaymentFactory $adyenOrderPaymentFactory
* @param ResourceModel\Order\Payment\CollectionFactory $adyenOrderPaymentCollectionFactory * @param ResourceModel\Order\Payment\CollectionFactory $adyenOrderPaymentCollectionFactory
* @param InvoiceFactory $adyenInvoiceFactory
* @param AreaList $areaList * @param AreaList $areaList
* @param \Magento\Sales\Model\ResourceModel\Order\Status\CollectionFactory $orderStatusCollection
*/ */
public function __construct( public function __construct(
\Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig,
...@@ -220,8 +227,10 @@ class Cron ...@@ -220,8 +227,10 @@ class Cron
\Adyen\Payment\Model\Order\PaymentFactory $adyenOrderPaymentFactory, \Adyen\Payment\Model\Order\PaymentFactory $adyenOrderPaymentFactory,
\Adyen\Payment\Model\ResourceModel\Order\Payment\CollectionFactory $adyenOrderPaymentCollectionFactory, \Adyen\Payment\Model\ResourceModel\Order\Payment\CollectionFactory $adyenOrderPaymentCollectionFactory,
\Adyen\Payment\Model\InvoiceFactory $adyenInvoiceFactory, \Adyen\Payment\Model\InvoiceFactory $adyenInvoiceFactory,
AreaList $areaList AreaList $areaList,
) { \Magento\Sales\Model\ResourceModel\Order\Status\CollectionFactory $orderStatusCollection
)
{
$this->_scopeConfig = $scopeConfig; $this->_scopeConfig = $scopeConfig;
$this->_adyenLogger = $adyenLogger; $this->_adyenLogger = $adyenLogger;
$this->_notificationFactory = $notificationFactory; $this->_notificationFactory = $notificationFactory;
...@@ -237,6 +246,7 @@ class Cron ...@@ -237,6 +246,7 @@ class Cron
$this->_adyenOrderPaymentCollectionFactory = $adyenOrderPaymentCollectionFactory; $this->_adyenOrderPaymentCollectionFactory = $adyenOrderPaymentCollectionFactory;
$this->_adyenInvoiceFactory = $adyenInvoiceFactory; $this->_adyenInvoiceFactory = $adyenInvoiceFactory;
$this->_areaList = $areaList; $this->_areaList = $areaList;
$this->_orderStatusCollection = $orderStatusCollection;
} }
/** /**
...@@ -1137,6 +1147,8 @@ class Cron ...@@ -1137,6 +1147,8 @@ class Cron
// only do this if status in configuration is set // only do this if status in configuration is set
if (!empty($status)) { if (!empty($status)) {
$this->_order->addStatusHistoryComment(__('Payment is authorised waiting for capture'), $status); $this->_order->addStatusHistoryComment(__('Payment is authorised waiting for capture'), $status);
$this->_setState($status);
$this->_adyenLogger->addAdyenNotificationCronjob( $this->_adyenLogger->addAdyenNotificationCronjob(
'Order status is changed to Pre-authorised status, status is ' . $status 'Order status is changed to Pre-authorised status, status is ' . $status
); );
...@@ -1594,14 +1606,30 @@ class Cron ...@@ -1594,14 +1606,30 @@ class Cron
$comment = "Adyen Payment is in Manual Review check the Adyen platform"; $comment = "Adyen Payment is in Manual Review check the Adyen platform";
} }
} }
$status = (!empty($status)) ? $status : $this->_order->getStatus(); $status = (!empty($status)) ? $status : $this->_order->getStatus();
$this->_order->addStatusHistoryComment(__($comment), $status); $this->_order->addStatusHistoryComment(__($comment), $status);
$this->_setState($status);
$this->_adyenLogger->addAdyenNotificationCronjob( $this->_adyenLogger->addAdyenNotificationCronjob(
'Order status is changed to authorised status, status is ' . $status 'Order status is changed to authorised status, status is ' . $status
); );
} }
/**
* Set State from Status
*/
protected function _setState($status)
{
$statusObject = $this->_orderStatusCollection->create()
->addFieldToFilter('main_table.status', $status)
->addFieldToFilter('state_table.is_default', true)
->joinStates()
->getFirstItem();
$this->_order->setState($statusObject->getState());
$this->_adyenLogger->addAdyenNotificationCronjob('State is changed to ' . $statusObject->getState());
}
/** /**
* Create shipment * Create shipment
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment