Skip to content

Commit f882de3

Browse files
committed
29251 revert is_available_for_selection
1 parent 59c1bc6 commit f882de3

File tree

2 files changed

+1
-84
lines changed

2 files changed

+1
-84
lines changed

app/code/Magento/ConfigurableProductGraphQl/Model/Options/Collection.php

Lines changed: 1 addition & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,10 @@
1010
use Magento\Catalog\Api\Data\ProductInterface;
1111
use Magento\Catalog\Model\Product;
1212
use Magento\Catalog\Model\ProductFactory;
13-
use Magento\Catalog\Model\ProductRepository;
14-
use Magento\ConfigurableProduct\Helper\Data;
1513
use Magento\ConfigurableProduct\Model\Product\Type\Configurable\Attribute;
1614
use Magento\ConfigurableProduct\Model\ResourceModel\Product\Type\Configurable\Attribute\Collection
1715
as AttributeCollection;
1816
use Magento\ConfigurableProduct\Model\ResourceModel\Product\Type\Configurable\Attribute\CollectionFactory;
19-
use Magento\Framework\Api\SearchCriteriaBuilder;
20-
use Magento\Framework\App\ObjectManager;
2117
use Magento\Framework\EntityManager\MetadataPool;
2218

2319
/**
@@ -35,36 +31,11 @@ class Collection
3531
*/
3632
private $productFactory;
3733

38-
/**
39-
* @var ProductRepository
40-
*/
41-
private $productRepository;
42-
4334
/**
4435
* @var MetadataPool
4536
*/
4637
private $metadataPool;
4738

48-
/**
49-
* @var Data
50-
*/
51-
private $configurableProductHelper;
52-
53-
/**
54-
* @var Metadata
55-
*/
56-
private $optionsMetadata;
57-
58-
/**
59-
* @var SelectionUidFormatter
60-
*/
61-
private $selectionUidFormatter;
62-
63-
/**
64-
* @var SearchCriteriaBuilder
65-
*/
66-
private $searchCriteriaBuilder;
67-
6839
/**
6940
* @var int[]
7041
*/
@@ -78,32 +49,16 @@ class Collection
7849
/**
7950
* @param CollectionFactory $attributeCollectionFactory
8051
* @param ProductFactory $productFactory
81-
* @param ProductRepository $productRepository
8252
* @param MetadataPool $metadataPool
83-
* @param Data $configurableProductHelper
84-
* @param Metadata $optionsMetadata
85-
* @param SelectionUidFormatter $selectionUidFormatter
86-
* @param SearchCriteriaBuilder $searchCriteriaBuilder
8753
*/
8854
public function __construct(
8955
CollectionFactory $attributeCollectionFactory,
9056
ProductFactory $productFactory,
91-
ProductRepository $productRepository,
92-
MetadataPool $metadataPool,
93-
Data $configurableProductHelper,
94-
Metadata $optionsMetadata,
95-
SelectionUidFormatter $selectionUidFormatter,
96-
SearchCriteriaBuilder $searchCriteriaBuilder
57+
MetadataPool $metadataPool
9758
) {
9859
$this->attributeCollectionFactory = $attributeCollectionFactory;
9960
$this->productFactory = $productFactory;
100-
$this->productRepository = $productRepository;
10161
$this->metadataPool = $metadataPool;
102-
$this->configurableProductHelper = $configurableProductHelper;
103-
$this->optionsMetadata = $optionsMetadata;
104-
$this->selectionUidFormatter = $selectionUidFormatter;
105-
$this->searchCriteriaBuilder = $searchCriteriaBuilder ??
106-
ObjectManager::getInstance()->get(SearchCriteriaBuilder::class);
10762
}
10863

10964
/**
@@ -156,8 +111,6 @@ private function fetch() : array
156111
$attributeCollection->setProductFilter($product);
157112
}
158113

159-
$products = $this->getProducts($this->productIds);
160-
161114
/** @var Attribute $attribute */
162115
foreach ($attributeCollection->getItems() as $attribute) {
163116
$productId = (int)$attribute->getProductId();
@@ -175,42 +128,8 @@ private function fetch() : array
175128
$this->attributeMap[$productId][$attribute->getId()]['values'] = $attributeData['options'];
176129
$this->attributeMap[$productId][$attribute->getId()]['label']
177130
= $attribute->getProductAttribute()->getStoreLabel();
178-
179-
if (isset($products[$productId])) {
180-
$options = $this->configurableProductHelper->getOptions(
181-
$products[$productId],
182-
$this->optionsMetadata->getAllowProducts($products[$productId])
183-
);
184-
foreach ($attributeData['options'] as $index => $value) {
185-
$this->attributeMap[$productId][$attribute->getId()]['values'][$index]['uid']
186-
= $this->selectionUidFormatter->encode((int)$attribute->getId(), (int)$value['value_index']);
187-
$this->attributeMap[$productId][$attribute->getId()]['values'][$index]
188-
['is_available_for_selection'] =
189-
isset($options[$attribute->getAttributeId()][$value['value_index']])
190-
&& $options[$attribute->getAttributeId()][$value['value_index']];
191-
}
192-
}
193131
}
194132

195133
return $this->attributeMap;
196134
}
197-
198-
/**
199-
* Load products by link field ids
200-
*
201-
* @param int[] $productIds
202-
* @return ProductInterface[]
203-
*/
204-
private function getProducts($productIds)
205-
{
206-
$linkField = $this->metadataPool->getMetadata(ProductInterface::class)->getLinkField();
207-
$this->searchCriteriaBuilder->addFilter($linkField, $productIds, 'in');
208-
$searchCriteria = $this->searchCriteriaBuilder->create();
209-
$products = $this->productRepository->getList($searchCriteria)->getItems();
210-
$productsLinkFieldMap = [];
211-
foreach ($products as $product) {
212-
$productsLinkFieldMap[$product->getData($linkField)] = $product;
213-
}
214-
return $productsLinkFieldMap;
215-
}
216135
}

app/code/Magento/ConfigurableProductGraphQl/etc/schema.graphqls

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,6 @@ type ConfigurableProductOptions @doc(description: "ConfigurableProductOptions de
3535
}
3636

3737
type ConfigurableProductOptionsValues @doc(description: "ConfigurableProductOptionsValues contains the index number assigned to a configurable product option") {
38-
uid: ID!
39-
is_available_for_selection: Boolean!
4038
value_index: Int @doc(description: "A unique index number assigned to the configurable product option")
4139
label: String @doc(description: "The label of the product")
4240
default_label: String @doc(description: "The label of the product on the default store")

0 commit comments

Comments
 (0)