Skip to content

Commit 7a94041

Browse files
committed
MAGETWO-90331: [Magento Cloud] Custom URL rewrites of a product get deleted in multi store views
1 parent 5e8127a commit 7a94041

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

app/code/Magento/UrlRewrite/Model/Storage/DbStorage.php

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
6+
67
namespace Magento\UrlRewrite\Model\Storage;
78

89
use Magento\Framework\Api\DataObjectHelper;
@@ -12,7 +13,8 @@
1213
use Magento\UrlRewrite\Service\V1\Data\UrlRewrite;
1314
use Magento\UrlRewrite\Service\V1\Data\UrlRewriteFactory;
1415
use Psr\Log\LoggerInterface;
15-
use Magento\UrlRewrite\Service\V1\Data\UrlRewrite as UrlRewriteData;
16+
use Magento\Framework\App\ObjectManager;
17+
use Magento\Framework\DB\Adapter\AdapterInterface;
1618

1719
/**
1820
* Url rewrites DB storage.
@@ -32,7 +34,7 @@ class DbStorage extends AbstractStorage
3234
const ERROR_CODE_DUPLICATE_ENTRY = 1062;
3335

3436
/**
35-
* @var \Magento\Framework\DB\Adapter\AdapterInterface
37+
* @var AdapterInterface
3638
*/
3739
protected $connection;
3840

@@ -47,9 +49,9 @@ class DbStorage extends AbstractStorage
4749
private $logger;
4850

4951
/**
50-
* @param \Magento\UrlRewrite\Service\V1\Data\UrlRewriteFactory $urlRewriteFactory
52+
* @param UrlRewriteFactory $urlRewriteFactory
5153
* @param DataObjectHelper $dataObjectHelper
52-
* @param \Magento\Framework\App\ResourceConnection $resource
54+
* @param ResourceConnection $resource
5355
* @param LoggerInterface|null $logger
5456
*/
5557
public function __construct(
@@ -60,7 +62,7 @@ public function __construct(
6062
) {
6163
$this->connection = $resource->getConnection();
6264
$this->resource = $resource;
63-
$this->logger = $logger ?: \Magento\Framework\App\ObjectManager::getInstance()
65+
$this->logger = $logger ?: ObjectManager::getInstance()
6466
->get(LoggerInterface::class);
6567

6668
parent::__construct($urlRewriteFactory, $dataObjectHelper);
@@ -70,7 +72,7 @@ public function __construct(
7072
* Prepare select statement for specific filter
7173
*
7274
* @param array $data
73-
* @return \Magento\Framework\DB\Select
75+
* @return Select
7476
*/
7577
protected function prepareSelect(array $data)
7678
{
@@ -80,6 +82,7 @@ protected function prepareSelect(array $data)
8082
foreach ($data as $column => $value) {
8183
$select->where($this->connection->quoteIdentifier($column) . ' IN (?)', $value);
8284
}
85+
8386
return $select;
8487
}
8588

@@ -214,12 +217,12 @@ protected function doReplace(array $urls)
214217
foreach ($urls as $url) {
215218
$urlFound = $this->doFindOneByData(
216219
[
217-
UrlRewriteData::REQUEST_PATH => $url->getRequestPath(),
218-
UrlRewriteData::STORE_ID => $url->getStoreId(),
220+
UrlRewrite::REQUEST_PATH => $url->getRequestPath(),
221+
UrlRewrite::STORE_ID => $url->getStoreId(),
219222
]
220223
);
221-
if (isset($urlFound[UrlRewriteData::URL_REWRITE_ID])) {
222-
$urlConflicted[$urlFound[UrlRewriteData::URL_REWRITE_ID]] = $url->toArray();
224+
if (isset($urlFound[UrlRewrite::URL_REWRITE_ID])) {
225+
$urlConflicted[$urlFound[UrlRewrite::URL_REWRITE_ID]] = $url->toArray();
223226
}
224227
}
225228
if ($urlConflicted) {
@@ -281,6 +284,7 @@ protected function createFilterDataBasedOnUrls($urls)
281284
}
282285
}
283286
}
287+
284288
return $data;
285289
}
286290

0 commit comments

Comments
 (0)