Skip to content

Commit 1eaca43

Browse files
committed
MAGETWO-45651: Simple product don't shown as associated in grouped when set out of stock
1 parent 4cae5d0 commit 1eaca43

File tree

3 files changed

+64
-8
lines changed

3 files changed

+64
-8
lines changed

app/code/Magento/Catalog/Model/Product/Link.php

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,6 @@ class Link extends \Magento\Framework\Model\AbstractModel
4949
*/
5050
protected $_linkCollectionFactory;
5151

52-
/**
53-
* @var \Magento\CatalogInventory\Helper\Stock
54-
*/
55-
protected $stockHelper;
56-
5752
/**
5853
* @param \Magento\Framework\Model\Context $context
5954
* @param \Magento\Framework\Registry $registry
@@ -69,14 +64,12 @@ public function __construct(
6964
\Magento\Framework\Registry $registry,
7065
\Magento\Catalog\Model\ResourceModel\Product\Link\CollectionFactory $linkCollectionFactory,
7166
\Magento\Catalog\Model\ResourceModel\Product\Link\Product\CollectionFactory $productCollectionFactory,
72-
\Magento\CatalogInventory\Helper\Stock $stockHelper,
7367
\Magento\Framework\Model\ResourceModel\AbstractResource $resource = null,
7468
\Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null,
7569
array $data = []
7670
) {
7771
$this->_linkCollectionFactory = $linkCollectionFactory;
7872
$this->_productCollectionFactory = $productCollectionFactory;
79-
$this->stockHelper = $stockHelper;
8073
parent::__construct($context, $registry, $resource, $resourceCollection, $data);
8174
}
8275

@@ -136,7 +129,6 @@ public function getAttributeTypeTable($type)
136129
public function getProductCollection()
137130
{
138131
$collection = $this->_productCollectionFactory->create()->setLinkModel($this);
139-
$this->stockHelper->addInStockFilterToCollection($collection);
140132
return $collection;
141133
}
142134

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<?php
2+
/**
3+
* Created by PhpStorm.
4+
* User: akasian
5+
* Date: 11/17/15
6+
* Time: 12:29 PM
7+
*/
8+
9+
namespace Magento\CatalogInventory\Model\Plugin;
10+
11+
use Magento\Catalog\Model\Product\Link;
12+
use Magento\Catalog\Model\ResourceModel\Product\Link\Product\Collection;
13+
use Magento\CatalogInventory\Helper\Stock;
14+
use Magento\CatalogInventory\Model\Configuration;
15+
16+
class ProductLinks
17+
{
18+
/**
19+
* @var Configuration
20+
*/
21+
private $configuration;
22+
23+
/**
24+
* @var Stock
25+
*/
26+
private $stockHelper;
27+
28+
/**
29+
* ProductLinks constructor.
30+
*
31+
* @param Configuration $configuration
32+
* @param Stock $stockHelper
33+
*/
34+
public function __construct(Configuration $configuration, Stock $stockHelper)
35+
{
36+
$this->configuration = $configuration;
37+
$this->stockHelper = $stockHelper;
38+
}
39+
40+
/**
41+
* @param Link $subject
42+
* @param Collection $collection
43+
* @return Collection
44+
*/
45+
public function afterGetProductCollection(Link $subject, Collection $collection)
46+
{
47+
if ($this->configuration->isShowOutOfStock() != 1) {
48+
$this->stockHelper->addInStockFilterToCollection($collection);
49+
}
50+
return $collection;
51+
}
52+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?xml version="1.0"?>
2+
<!--
3+
/**
4+
* Copyright © 2015 Magento. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
9+
<type name="Magento\Catalog\Model\Product\Link">
10+
<plugin name="isInStockFilter" type="Magento\CatalogInventory\Model\Plugin\ProductLinks" />
11+
</type>
12+
</config>

0 commit comments

Comments
 (0)