File tree Expand file tree Collapse file tree
app/code/Magento/Downloadable/Observer Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -61,6 +61,7 @@ public function execute(\Magento\Framework\Event\Observer $observer)
6161 'payment_pending ' => \Magento \Downloadable \Model \Link \Purchased \Item::LINK_STATUS_PENDING_PAYMENT ,
6262 'payment_review ' => \Magento \Downloadable \Model \Link \Purchased \Item::LINK_STATUS_PAYMENT_REVIEW ,
6363 ];
64+ $ expiredOrderItemIds = [];
6465
6566 $ downloadableItemsStatuses = [];
6667 $ orderItemStatusToEnable = $ this ->_scopeConfig ->getValue (
@@ -114,6 +115,10 @@ public function execute(\Magento\Framework\Event\Observer $observer)
114115 if (in_array ($ item ->getStatusId (), $ availableStatuses )) {
115116 $ downloadableItemsStatuses [$ item ->getId ()] = $ linkStatuses ['avail ' ];
116117 }
118+
119+ if ($ item ->getQtyOrdered () - $ item ->getQtyRefunded () == 0 ) {
120+ $ expiredOrderItemIds [] = $ item ->getId ();
121+ }
117122 }
118123 }
119124 }
@@ -141,6 +146,16 @@ public function execute(\Magento\Framework\Event\Observer $observer)
141146 }
142147 }
143148
149+ if ($ expiredOrderItemIds ) {
150+ $ linkPurchased = $ this ->_createItemsCollection ()->addFieldToFilter (
151+ 'order_item_id ' ,
152+ ['in ' => $ expiredOrderItemIds ]
153+ );
154+ foreach ($ linkPurchased as $ link ) {
155+ $ link ->setStatus (\Magento \Downloadable \Model \Link \Purchased \Item::LINK_STATUS_EXPIRED )->save ();
156+ }
157+ }
158+
144159 return $ this ;
145160 }
146161
You can’t perform that action at this time.
0 commit comments