Skip to content

Commit b8de8ea

Browse files
committed
Merge remote-tracking branch 'origin/develop' into MAGETWO-63065
# Conflicts: # composer.lock
2 parents 615f75d + 8e752f1 commit b8de8ea

File tree

95 files changed

+3429
-618
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

95 files changed

+3429
-618
lines changed

app/code/Magento/Backend/Block/Template.php

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -70,17 +70,12 @@ public function getFormKey()
7070
*
7171
* @param string $moduleName Full module name
7272
* @return boolean
73+
* @deprecated
74+
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
7375
*/
7476
public function isOutputEnabled($moduleName = null)
7577
{
76-
if ($moduleName === null) {
77-
$moduleName = $this->getModuleName();
78-
}
79-
80-
return !$this->_scopeConfig->isSetFlag(
81-
'advanced/modules_disable_output/' . $moduleName,
82-
\Magento\Store\Model\ScopeInterface::SCOPE_STORE
83-
);
78+
return true;
8479
}
8580

8681
/**

app/code/Magento/Backend/etc/adminhtml/system.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<tab id="advanced" translate="label" sortOrder="999999">
1717
<label>Advanced</label>
1818
</tab>
19-
<section id="advanced" translate="label" type="text" sortOrder="910" showInDefault="1" showInWebsite="1" showInStore="1">
19+
<section id="advanced" translate="label" type="text" sortOrder="910" showInDefault="0" showInWebsite="0" showInStore="0">
2020
<label>Advanced</label>
2121
<tab>advanced</tab>
2222
<resource>Magento_Backend::advanced</resource>

app/code/Magento/Catalog/Test/Unit/Block/Adminhtml/Product/Options/AjaxTest.php

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,6 @@ public function testToHtml()
5555
->getMock();
5656
$eventManager->expects($this->exactly(2))->method('dispatch')->will($this->returnValue(true));
5757

58-
$scopeConfig = $this->getMockBuilder(\Magento\Framework\App\Config::class)
59-
->setMethods(['getValue'])
60-
->disableOriginalConstructor()->getMock();
61-
$scopeConfig->expects($this->once())->method('getValue')->withAnyParameters()
62-
->will($this->returnValue(false));
63-
6458
$product = $this->getMockBuilder(\Magento\Catalog\Model\Product::class)->disableOriginalConstructor()
6559
->setMethods(['setStoreId', 'load', 'getId', '__wakeup', '__sleep'])
6660
->getMock();
@@ -93,8 +87,6 @@ public function testToHtml()
9387

9488
$this->context->expects($this->once())->method('getEventManager')
9589
->will($this->returnValue($eventManager));
96-
$this->context->expects($this->once())->method('getScopeConfig')
97-
->will($this->returnValue($scopeConfig));
9890
$this->context->expects($this->once())->method('getLayout')
9991
->will($this->returnValue($layout));
10092
$this->context->expects($this->once())->method('getRequest')

app/code/Magento/Catalog/Test/Unit/Block/Product/Widget/NewWidgetTest.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ protected function setUp()
6363
false,
6464
false
6565
);
66-
$this->scopeConfig = $this->getMock(\Magento\Framework\App\Config::class, ['getValue'], [], '', false, false);
66+
$this->scopeConfig = $this->getMock(\Magento\Framework\App\Config::class, [], [], '', false, false);
6767
$this->cacheState = $this->getMock(
6868
\Magento\Framework\App\Cache\State::class,
6969
['isEnabled'],
@@ -188,8 +188,6 @@ protected function generalGetProductCollection()
188188
{
189189
$this->eventManager->expects($this->exactly(2))->method('dispatch')
190190
->will($this->returnValue(true));
191-
$this->scopeConfig->expects($this->once())->method('getValue')->withAnyParameters()
192-
->willReturn(false);
193191
$this->cacheState->expects($this->atLeastOnce())->method('isEnabled')->withAnyParameters()
194192
->willReturn(false);
195193
$this->catalogConfig->expects($this->once())->method('getProductAttributes')

app/code/Magento/CatalogUrlRewrite/Model/Category/Plugin/Category/Remove.php

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,52 +5,55 @@
55
*/
66
namespace Magento\CatalogUrlRewrite\Model\Category\Plugin\Category;
77

8-
use Magento\Catalog\Api\Data\CategoryInterface;
9-
use Magento\CatalogUrlRewrite\Model\Category\ChildrenCategoriesProvider;
10-
use Magento\CatalogUrlRewrite\Model\CategoryUrlRewriteGenerator;
11-
use Magento\CatalogUrlRewrite\Model\ProductUrlRewriteGenerator;
12-
use Magento\UrlRewrite\Model\UrlPersistInterface;
138
use Magento\UrlRewrite\Service\V1\Data\UrlRewrite;
149

1510
class Remove
1611
{
17-
/** @var UrlPersistInterface */
12+
/** @var \Magento\UrlRewrite\Model\UrlPersistInterface */
1813
protected $urlPersist;
1914

20-
/** @var ProductUrlRewriteGenerator */
15+
/** @var \Magento\CatalogUrlRewrite\Model\ProductUrlRewriteGenerator */
2116
protected $productUrlRewriteGenerator;
2217

23-
/** @var ChildrenCategoriesProvider */
18+
/** @var \Magento\CatalogUrlRewrite\Model\Category\ChildrenCategoriesProvider */
2419
protected $childrenCategoriesProvider;
2520

21+
/** @var \Magento\Framework\Serialize\Serializer\Json */
22+
private $serializer;
23+
2624
/**
27-
* @param UrlPersistInterface $urlPersist
28-
* @param ProductUrlRewriteGenerator $productUrlRewriteGenerator
29-
* @param ChildrenCategoriesProvider $childrenCategoriesProvider
25+
* @param \Magento\UrlRewrite\Model\UrlPersistInterface $urlPersist
26+
* @param \Magento\CatalogUrlRewrite\Model\ProductUrlRewriteGenerator $productUrlRewriteGenerator
27+
* @param \Magento\CatalogUrlRewrite\Model\Category\ChildrenCategoriesProvider $childrenCategoriesProvider
28+
* @param \Magento\Framework\Serialize\Serializer\Json|null $serializer
3029
*/
3130
public function __construct(
32-
UrlPersistInterface $urlPersist,
33-
ProductUrlRewriteGenerator $productUrlRewriteGenerator,
34-
ChildrenCategoriesProvider $childrenCategoriesProvider
31+
\Magento\UrlRewrite\Model\UrlPersistInterface $urlPersist,
32+
\Magento\CatalogUrlRewrite\Model\ProductUrlRewriteGenerator $productUrlRewriteGenerator,
33+
\Magento\CatalogUrlRewrite\Model\Category\ChildrenCategoriesProvider $childrenCategoriesProvider,
34+
\Magento\Framework\Serialize\Serializer\Json $serializer = null
3535
) {
3636
$this->urlPersist = $urlPersist;
3737
$this->productUrlRewriteGenerator = $productUrlRewriteGenerator;
3838
$this->childrenCategoriesProvider = $childrenCategoriesProvider;
39+
$this->serializer = $serializer ?: \Magento\Framework\App\ObjectManager::getInstance()->get(
40+
\Magento\Framework\Serialize\Serializer\Json::class
41+
);
3942
}
4043

4144
/**
4245
* Remove product urls from storage
4346
*
4447
* @param \Magento\Catalog\Model\ResourceModel\Category $subject
45-
* @param callable $proceed
46-
* @param CategoryInterface $category
48+
* @param \Closure $proceed
49+
* @param \Magento\Catalog\Api\Data\CategoryInterface $category
4750
* @return mixed
4851
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
4952
*/
5053
public function aroundDelete(
5154
\Magento\Catalog\Model\ResourceModel\Category $subject,
5255
\Closure $proceed,
53-
CategoryInterface $category
56+
\Magento\Catalog\Api\Data\CategoryInterface $category
5457
) {
5558
$categoryIds = $this->childrenCategoriesProvider->getChildrenIds($category, true);
5659
$categoryIds[] = $category->getId();
@@ -72,13 +75,13 @@ protected function deleteRewritesForCategory($categoryId)
7275
$this->urlPersist->deleteByData(
7376
[
7477
UrlRewrite::ENTITY_ID => $categoryId,
75-
UrlRewrite::ENTITY_TYPE => CategoryUrlRewriteGenerator::ENTITY_TYPE,
78+
UrlRewrite::ENTITY_TYPE => \Magento\CatalogUrlRewrite\Model\CategoryUrlRewriteGenerator::ENTITY_TYPE,
7679
]
7780
);
7881
$this->urlPersist->deleteByData(
7982
[
80-
UrlRewrite::METADATA => serialize(['category_id' => $categoryId]),
81-
UrlRewrite::ENTITY_TYPE => ProductUrlRewriteGenerator::ENTITY_TYPE,
83+
UrlRewrite::METADATA => $this->serializer->serialize(['category_id' => $categoryId]),
84+
UrlRewrite::ENTITY_TYPE => \Magento\CatalogUrlRewrite\Model\ProductUrlRewriteGenerator::ENTITY_TYPE,
8285
]
8386
);
8487
}

app/code/Magento/CatalogUrlRewrite/Observer/UrlRewriteHandler.php

Lines changed: 43 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -5,28 +5,18 @@
55
*/
66
namespace Magento\CatalogUrlRewrite\Observer;
77

8-
use Magento\Catalog\Model\Category;
9-
use Magento\CatalogUrlRewrite\Model\CategoryBasedProductRewriteGenerator;
10-
use Magento\CatalogUrlRewrite\Model\CategoryUrlRewriteGenerator;
11-
use Magento\CatalogUrlRewrite\Model\ProductUrlRewriteGenerator;
12-
use Magento\Framework\App\ObjectManager;
13-
use Magento\Framework\Event\Observer as EventObserver;
14-
use Magento\UrlRewrite\Model\UrlPersistInterface;
15-
use Magento\UrlRewrite\Service\V1\Data\UrlRewrite;
16-
use Magento\UrlRewrite\Model\MergeDataProviderFactory;
17-
188
class UrlRewriteHandler
199
{
2010
/** @var \Magento\CatalogUrlRewrite\Model\Category\ChildrenCategoriesProvider */
2111
protected $childrenCategoriesProvider;
2212

23-
/** @var CategoryUrlRewriteGenerator */
13+
/** @var \Magento\CatalogUrlRewrite\Model\CategoryUrlRewriteGenerator */
2414
protected $categoryUrlRewriteGenerator;
2515

26-
/** @var ProductUrlRewriteGenerator */
16+
/** @var \Magento\CatalogUrlRewrite\Model\ProductUrlRewriteGenerator */
2717
protected $productUrlRewriteGenerator;
2818

29-
/** @var UrlPersistInterface */
19+
/** @var \Magento\UrlRewrite\Model\UrlPersistInterface */
3020
protected $urlPersist;
3121

3222
/** @var array */
@@ -35,48 +25,59 @@ class UrlRewriteHandler
3525
/** @var \Magento\Catalog\Model\ResourceModel\Product\CollectionFactory */
3626
protected $productCollectionFactory;
3727

38-
/**
39-
* @var CategoryBasedProductRewriteGenerator
40-
*/
28+
/** @var \Magento\CatalogUrlRewrite\Model\CategoryBasedProductRewriteGenerator */
4129
private $categoryBasedProductRewriteGenerator;
4230

4331
/** @var \Magento\UrlRewrite\Model\MergeDataProvider */
4432
private $mergeDataProviderPrototype;
4533

34+
/** @var \Magento\Framework\Serialize\Serializer\Json */
35+
private $serializer;
36+
4637
/**
4738
* @param \Magento\CatalogUrlRewrite\Model\Category\ChildrenCategoriesProvider $childrenCategoriesProvider
48-
* @param CategoryUrlRewriteGenerator $categoryUrlRewriteGenerator
49-
* @param ProductUrlRewriteGenerator $productUrlRewriteGenerator
50-
* @param UrlPersistInterface $urlPersist
39+
* @param \Magento\CatalogUrlRewrite\Model\CategoryUrlRewriteGenerator $categoryUrlRewriteGenerator
40+
* @param \Magento\CatalogUrlRewrite\Model\ProductUrlRewriteGenerator $productUrlRewriteGenerator
41+
* @param \Magento\UrlRewrite\Model\UrlPersistInterface $urlPersist
5142
* @param \Magento\Catalog\Model\ResourceModel\Product\CollectionFactory $productCollectionFactory
5243
* @param \Magento\UrlRewrite\Model\MergeDataProviderFactory|null $mergeDataProviderFactory
44+
* @param \Magento\Framework\Serialize\Serializer\Json|null $serializer
5345
*/
5446
public function __construct(
5547
\Magento\CatalogUrlRewrite\Model\Category\ChildrenCategoriesProvider $childrenCategoriesProvider,
56-
CategoryUrlRewriteGenerator $categoryUrlRewriteGenerator,
57-
ProductUrlRewriteGenerator $productUrlRewriteGenerator,
58-
UrlPersistInterface $urlPersist,
48+
\Magento\CatalogUrlRewrite\Model\CategoryUrlRewriteGenerator $categoryUrlRewriteGenerator,
49+
\Magento\CatalogUrlRewrite\Model\ProductUrlRewriteGenerator $productUrlRewriteGenerator,
50+
\Magento\UrlRewrite\Model\UrlPersistInterface $urlPersist,
5951
\Magento\Catalog\Model\ResourceModel\Product\CollectionFactory $productCollectionFactory,
60-
MergeDataProviderFactory $mergeDataProviderFactory = null
52+
\Magento\UrlRewrite\Model\MergeDataProviderFactory $mergeDataProviderFactory = null,
53+
\Magento\Framework\Serialize\Serializer\Json $serializer = null
6154
) {
6255
$this->childrenCategoriesProvider = $childrenCategoriesProvider;
6356
$this->categoryUrlRewriteGenerator = $categoryUrlRewriteGenerator;
6457
$this->productUrlRewriteGenerator = $productUrlRewriteGenerator;
6558
$this->urlPersist = $urlPersist;
6659
$this->productCollectionFactory = $productCollectionFactory;
60+
6761
if (!isset($mergeDataProviderFactory)) {
68-
$mergeDataProviderFactory = ObjectManager::getInstance()->get(MergeDataProviderFactory::class);
62+
$mergeDataProviderFactory = \Magento\Framework\App\ObjectManager::getInstance()->get(
63+
\Magento\UrlRewrite\Model\MergeDataProviderFactory::class
64+
);
6965
}
66+
7067
$this->mergeDataProviderPrototype = $mergeDataProviderFactory->create();
68+
69+
$this->serializer = $serializer ?: \Magento\Framework\App\ObjectManager::getInstance()->get(
70+
\Magento\Framework\Serialize\Serializer\Json::class
71+
);
7172
}
7273

7374
/**
7475
* Generate url rewrites for products assigned to category
7576
*
76-
* @param Category $category
77+
* @param \Magento\Catalog\Model\Category $category
7778
* @return array
7879
*/
79-
public function generateProductUrlRewrites(Category $category)
80+
public function generateProductUrlRewrites(\Magento\Catalog\Model\Category $category)
8081
{
8182
$mergeDataProvider = clone $this->mergeDataProviderPrototype;
8283
$this->isSkippedProduct = [];
@@ -123,14 +124,14 @@ public function generateProductUrlRewrites(Category $category)
123124
}
124125

125126
/**
126-
* @param Category $category
127+
* @param \Magento\Catalog\Model\Category $category
127128
* @param int $storeId
128129
* @param bool $saveRewriteHistory
129130
* @param int|null $rootCategoryId
130-
* @return UrlRewrite[]
131+
* @return array
131132
*/
132133
public function getCategoryProductsUrlRewrites(
133-
Category $category,
134+
\Magento\Catalog\Model\Category $category,
134135
$storeId,
135136
$saveRewriteHistory,
136137
$rootCategoryId = null
@@ -161,37 +162,41 @@ public function getCategoryProductsUrlRewrites(
161162
* Retrieve generator, which use single category for different products
162163
*
163164
* @deprecated
164-
* @return CategoryBasedProductRewriteGenerator|mixed
165+
* @return \Magento\CatalogUrlRewrite\Model\CategoryBasedProductRewriteGenerator|mixed
165166
*/
166167
private function getCategoryBasedProductRewriteGenerator()
167168
{
168169
if (!$this->categoryBasedProductRewriteGenerator) {
169-
$this->categoryBasedProductRewriteGenerator = ObjectManager::getInstance()
170-
->get(CategoryBasedProductRewriteGenerator::class);
170+
$this->categoryBasedProductRewriteGenerator = \Magento\Framework\App\ObjectManager::getInstance()
171+
->get(\Magento\CatalogUrlRewrite\Model\CategoryBasedProductRewriteGenerator::class);
171172
}
172173

173174
return $this->categoryBasedProductRewriteGenerator;
174175
}
175176

176177
/**
177-
* @param Category $category
178+
* @param \Magento\Catalog\Model\Category $category
178179
* @return void
179180
*/
180-
public function deleteCategoryRewritesForChildren(Category $category)
181+
public function deleteCategoryRewritesForChildren(\Magento\Catalog\Model\Category $category)
181182
{
182183
$categoryIds = $this->childrenCategoriesProvider->getChildrenIds($category, true);
183184
$categoryIds[] = $category->getId();
184185
foreach ($categoryIds as $categoryId) {
185186
$this->urlPersist->deleteByData(
186187
[
187-
UrlRewrite::ENTITY_ID => $categoryId,
188-
UrlRewrite::ENTITY_TYPE => CategoryUrlRewriteGenerator::ENTITY_TYPE,
188+
\Magento\UrlRewrite\Service\V1\Data\UrlRewrite::ENTITY_ID =>
189+
$categoryId,
190+
\Magento\UrlRewrite\Service\V1\Data\UrlRewrite::ENTITY_TYPE =>
191+
\Magento\CatalogUrlRewrite\Model\CategoryUrlRewriteGenerator::ENTITY_TYPE,
189192
]
190193
);
191194
$this->urlPersist->deleteByData(
192195
[
193-
UrlRewrite::METADATA => serialize(['category_id' => $categoryId]),
194-
UrlRewrite::ENTITY_TYPE => ProductUrlRewriteGenerator::ENTITY_TYPE,
196+
\Magento\UrlRewrite\Service\V1\Data\UrlRewrite::METADATA =>
197+
$this->serializer->serialize(['category_id' => $categoryId]),
198+
\Magento\UrlRewrite\Service\V1\Data\UrlRewrite::ENTITY_TYPE =>
199+
\Magento\CatalogUrlRewrite\Model\ProductUrlRewriteGenerator::ENTITY_TYPE,
195200
]
196201
);
197202
}

app/code/Magento/CatalogUrlRewrite/Test/Unit/Model/Category/ChildrenUrlRewriteGeneratorTest.php

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
namespace Magento\CatalogUrlRewrite\Test\Unit\Model\Category;
77

88
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
9+
use Magento\Framework\Serialize\Serializer\Json;
910

1011
class ChildrenUrlRewriteGeneratorTest extends \PHPUnit_Framework_TestCase
1112
{
@@ -27,8 +28,14 @@ class ChildrenUrlRewriteGeneratorTest extends \PHPUnit_Framework_TestCase
2728
/** @var \PHPUnit_Framework_MockObject_MockObject */
2829
private $mergeDataProvider;
2930

31+
/** @var \PHPUnit_Framework_MockObject_MockObject */
32+
private $serializerMock;
33+
3034
protected function setUp()
3135
{
36+
$this->serializerMock = $this->getMockBuilder(Json::class)
37+
->disableOriginalConstructor()
38+
->getMock();
3239
$this->childrenCategoriesProvider = $this->getMockBuilder(
3340
\Magento\CatalogUrlRewrite\Model\Category\ChildrenCategoriesProvider::class
3441
)->disableOriginalConstructor()->getMock();
@@ -84,13 +91,13 @@ public function testGenerate()
8491
->will($this->returnValue($saveRewritesHistory));
8592
$this->categoryUrlRewriteGeneratorFactory->expects($this->once())->method('create')
8693
->will($this->returnValue($this->categoryUrlRewriteGenerator));
87-
$url1 = new \Magento\UrlRewrite\Service\V1\Data\UrlRewrite();
94+
$url1 = new \Magento\UrlRewrite\Service\V1\Data\UrlRewrite([], $this->serializerMock);
8895
$url1->setRequestPath('category-1')
8996
->setStoreId(1);
90-
$url2 = new \Magento\UrlRewrite\Service\V1\Data\UrlRewrite();
97+
$url2 = new \Magento\UrlRewrite\Service\V1\Data\UrlRewrite([], $this->serializerMock);
9198
$url2->setRequestPath('category-2')
9299
->setStoreId(2);
93-
$url3 = new \Magento\UrlRewrite\Service\V1\Data\UrlRewrite();
100+
$url3 = new \Magento\UrlRewrite\Service\V1\Data\UrlRewrite([], $this->serializerMock);
94101
$url3->setRequestPath('category-1')
95102
->setStoreId(1);
96103
$this->categoryUrlRewriteGenerator->expects($this->once())->method('generate')

0 commit comments

Comments
 (0)