Skip to content

Commit b65ac0b

Browse files
authored
Merge pull request #505 from magento-falcons/MAGETWO-59693
Bugs: * MAGETWO-57796: [GitHub] Inserted image in product description got broken on front end #6138 * MAGETWO-54253: Export filters for products do not work
2 parents bc9df94 + 5c5e6ff commit b65ac0b

File tree

6 files changed

+68
-4
lines changed

6 files changed

+68
-4
lines changed

app/code/Magento/Catalog/Block/Adminhtml/Helper/Form/Wysiwyg/Content.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,12 @@
1414
use Magento\Backend\Block\Widget\Form;
1515
use Magento\Backend\Block\Widget\Form\Generic;
1616

17+
/**
18+
* Class Content
19+
*
20+
* @deprecated
21+
* @see \Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Eav
22+
*/
1723
class Content extends Generic
1824
{
1925
/**

app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Eav.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -754,7 +754,10 @@ private function customizeWysiwyg(ProductAttributeInterface $attribute, array $m
754754
$meta['arguments']['data']['config']['wysiwyg'] = true;
755755
$meta['arguments']['data']['config']['wysiwygConfigData'] = [
756756
'add_variables' => false,
757-
'add_widgets' => false
757+
'add_widgets' => false,
758+
'add_directives' => true,
759+
'use_container' => true,
760+
'container_class' => 'hor-scroll',
758761
];
759762

760763
return $meta;

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

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
*/
66
namespace Magento\CatalogImportExport\Model\Export;
77

8-
use Magento\Framework\DB\Ddl\Table;
98
use Magento\ImportExport\Model\Import;
109
use \Magento\Store\Model\Store;
1110
use \Magento\CatalogImportExport\Model\Import\Product as ImportProduct;
@@ -850,6 +849,24 @@ public function export()
850849
return $writer->getContents();
851850
}
852851

852+
/**
853+
* {@inheritdoc}
854+
*/
855+
protected function _prepareEntityCollection(\Magento\Eav\Model\Entity\Collection\AbstractCollection $collection)
856+
{
857+
$exportFilter = !empty($this->_parameters[\Magento\ImportExport\Model\Export::FILTER_ELEMENT_GROUP]) ?
858+
$this->_parameters[\Magento\ImportExport\Model\Export::FILTER_ELEMENT_GROUP] : [];
859+
860+
if (isset($exportFilter['category_ids'])
861+
&& trim($exportFilter['category_ids'])
862+
&& $collection instanceof \Magento\Catalog\Model\ResourceModel\Product\Collection
863+
) {
864+
$collection->addCategoriesFilter(['in' => explode(',', $exportFilter['category_ids'])]);
865+
}
866+
867+
return parent::_prepareEntityCollection($collection);
868+
}
869+
853870
/**
854871
* Get export data for collection
855872
*

dev/tests/integration/testsuite/Magento/CatalogImportExport/Model/Export/ProductTest.php

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,34 @@ public function testExportWithFieldsEnclosure()
227227

228228
$this->assertContains('""Option 2""', $exportData);
229229
$this->assertContains('""Option 3""', $exportData);
230-
$this->assertContains('""Option 4 """"!@#$%^&*"""', $exportData);
231-
$this->assertContains('text_attribute=""!@#$%^&*()_+1234567890-=|\:;"""', $exportData);
230+
$this->assertContains('""Option 4 """"!@#$%^&*""', $exportData);
231+
$this->assertContains('text_attribute=""!@#$%^&*()_+1234567890-=|\:;""""\'<,>.?/', $exportData);
232+
}
233+
234+
/**
235+
* Verify that "category ids" filter correctly applies to export result
236+
*
237+
* @magentoDataFixture Magento/CatalogImportExport/_files/product_export_with_categories.php
238+
*/
239+
public function testCategoryIdsFilter()
240+
{
241+
$this->model->setWriter(
242+
$this->objectManager->create(
243+
\Magento\ImportExport\Model\Export\Adapter\Csv::class
244+
)
245+
);
246+
247+
$this->model->setParameters([
248+
\Magento\ImportExport\Model\Export::FILTER_ELEMENT_GROUP => [
249+
'category_ids' => '2,13'
250+
]
251+
]);
252+
253+
$exportData = $this->model->export();
254+
255+
$this->assertContains('Simple Product', $exportData);
256+
$this->assertContains('Simple Product Three', $exportData);
257+
$this->assertNotContains('Simple Product Two', $exportData);
258+
$this->assertNotContains('Simple Product Not Visible On Storefront', $exportData);
232259
}
233260
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?php
2+
/**
3+
* Copyright © 2016 Magento. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
7+
\Magento\TestFramework\Helper\Bootstrap::getInstance()->reinitialize();
8+
9+
require dirname(dirname(__DIR__)) . '/Catalog/_files/categories.php';

lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -357,6 +357,8 @@ define([
357357
// escape special chars in directives url to use it in regular expression
358358
var url = this.makeDirectiveUrl('%directive%').replace(/([$^.?*!+:=()\[\]{}|\\])/g, '\\$1');
359359
var reg = new RegExp(url.replace('%directive%', '([a-zA-Z0-9,_-]+)'));
360+
content = decodeURIComponent(content);
361+
360362
return content.gsub(reg, function(match) {
361363
return Base64.mageDecode(match[1]);
362364
}.bind(this));

0 commit comments

Comments
 (0)