forked from comwrap/elasticsuite-magento-patch
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathelastic-inventory-2-3-2.diff
More file actions
73 lines (73 loc) · 2.17 KB
/
elastic-inventory-2-3-2.diff
File metadata and controls
73 lines (73 loc) · 2.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
diff --git a/vendor/magento/module-catalog-inventory/Model/Plugin/Layer.php b/app/code/Magento/CatalogInventory/Model/Plugin/Layer.php
new file mode 100644
index 00000000000..b8e8e47bb1f
--- /dev/null
+++ b/vendor/magento/module-catalog-inventory/Model/Plugin/Layer.php
@@ -0,0 +1,67 @@
+<?php
+/**
+ * Copyright © Magento, Inc. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+namespace Magento\CatalogInventory\Model\Plugin;
+
+class Layer
+{
+ /**
+ * Stock status instance
+ *
+ * @var \Magento\CatalogInventory\Helper\Stock
+ */
+ protected $stockHelper;
+
+ /**
+ * Store config instance
+ *
+ * @var \Magento\Framework\App\Config\ScopeConfigInterface
+ */
+ protected $scopeConfig;
+
+ /**
+ * @param \Magento\CatalogInventory\Helper\Stock $stockHelper
+ * @param \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig
+ */
+ public function __construct(
+ \Magento\CatalogInventory\Helper\Stock $stockHelper,
+ \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig
+ ) {
+ $this->stockHelper = $stockHelper;
+ $this->scopeConfig = $scopeConfig;
+ }
+
+ /**
+ * Before prepare product collection handler
+ *
+ * @param \Magento\Catalog\Model\Layer $subject
+ * @param \Magento\Catalog\Model\ResourceModel\Collection\AbstractCollection $collection
+ *
+ * @return void
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function beforePrepareProductCollection(
+ \Magento\Catalog\Model\Layer $subject,
+ \Magento\Catalog\Model\ResourceModel\Collection\AbstractCollection $collection
+ ) {
+ if ($this->_isEnabledShowOutOfStock()) {
+ return;
+ }
+ $this->stockHelper->addIsInStockFilterToCollection($collection);
+ }
+
+ /**
+ * Get config value for 'display out of stock' option
+ *
+ * @return bool
+ */
+ protected function _isEnabledShowOutOfStock()
+ {
+ return $this->scopeConfig->isSetFlag(
+ 'cataloginventory/options/show_out_of_stock',
+ \Magento\Store\Model\ScopeInterface::SCOPE_STORE
+ );
+ }
+}