Skip to content

Commit 483a8b2

Browse files
committed
MC-33499: Grid Filter not working for Scheduled Export when selected any kind of Entity Type
1 parent 5b1eabd commit 483a8b2

File tree

3 files changed

+5
-36
lines changed

3 files changed

+5
-36
lines changed

app/code/Magento/AdvancedPricingImportExport/Controller/Adminhtml/Export/GetFilter.php

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -34,29 +34,9 @@ public function execute()
3434
/** @var $export \Magento\ImportExport\Model\Export */
3535
$export = $this->_objectManager->create(\Magento\ImportExport\Model\Export::class);
3636
$export->setData($data);
37-
$filter = (isset($data['filter']) && $data['filter']) ? $data['filter'] : null;
38-
$collection = $export->getEntityAttributeCollection();
39-
if (!is_null($filter)) {
40-
$filters = array_reduce(
41-
explode('&', base64_decode($filter)),
42-
function ($filter, $item) {
43-
list($key, $value) = explode('=', $item, 2);
44-
$filter[$key] = $value;
45-
return $filter;
46-
},
47-
[]
48-
);
49-
foreach ($filters as $field => $value) {
50-
foreach ($collection as $attribute) {
51-
if (stripos($attribute->getData($field), $value) === false) {
52-
$collection->removeItemByKey($attribute->getId());
53-
}
54-
}
55-
}
56-
}
5737
$export->filterAttributeCollection(
58-
$attrFilterBlock->prepareCollection($collection)
59-
);
38+
$attrFilterBlock->prepareCollection($export->getEntityAttributeCollection())
39+
)->clear();
6040
return $resultLayout;
6141
} catch (\Exception $e) {
6242
$this->messageManager->addErrorMessage($e->getMessage());

app/code/Magento/CatalogImportExport/Model/Export/Product.php

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1548,12 +1548,8 @@ public function filterAttributeCollection(\Magento\Eav\Model\ResourceModel\Entit
15481548
{
15491549
$validTypes = array_keys($this->_productTypeModels);
15501550
$validTypes = array_combine($validTypes, $validTypes);
1551-
1551+
$collection->addFieldToFilter('attribute_code', ['nin' => $this->_bannedAttributes]);
15521552
foreach (parent::filterAttributeCollection($collection) as $attribute) {
1553-
if (in_array($attribute->getAttributeCode(), $this->_bannedAttributes)) {
1554-
$collection->removeItemByKey($attribute->getId());
1555-
continue;
1556-
}
15571553
$attrApplyTo = $attribute->getApplyTo();
15581554
$attrApplyTo = array_combine($attrApplyTo, $attrApplyTo);
15591555
$attrApplyTo = $attrApplyTo ? array_intersect_key($attrApplyTo, $validTypes) : $validTypes;
@@ -1567,7 +1563,7 @@ public function filterAttributeCollection(\Magento\Eav\Model\ResourceModel\Entit
15671563
}
15681564
} else {
15691565
// remove attributes of not-supported product types
1570-
$collection->removeItemByKey($attribute->getId());
1566+
$collection->addFieldToFilter('attribute_code',['nin' => $attribute->getAttributeCode()]);
15711567
}
15721568
}
15731569
return $collection;

app/code/Magento/ImportExport/Model/Export/Entity/AbstractEntity.php

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -389,14 +389,7 @@ abstract public function export();
389389
*/
390390
public function filterAttributeCollection(\Magento\Eav\Model\ResourceModel\Entity\Attribute\Collection $collection)
391391
{
392-
$collection->load();
393-
394-
foreach ($collection as $attribute) {
395-
if (in_array($attribute->getAttributeCode(), $this->_disabledAttrs)) {
396-
$collection->removeItemByKey($attribute->getId());
397-
}
398-
}
399-
return $collection;
392+
return $collection->addFieldToFilter('attribute_code', ['nin' => $this->_disabledAttrs]);
400393
}
401394

402395
/**

0 commit comments

Comments
 (0)