Skip to content

Commit 1784a1a

Browse files
committed
Merge remote-tracking branch 'origin/2.3-develop' into 2.3-develop-pr25
2 parents de6e48d + 70c5c51 commit 1784a1a

File tree

36 files changed

+791
-243
lines changed

36 files changed

+791
-243
lines changed

app/code/Magento/Catalog/Model/ProductRepository.php

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -334,9 +334,7 @@ protected function initializeProductData(array $productData, $createNew)
334334
unset($productData['media_gallery']);
335335
if ($createNew) {
336336
$product = $this->productFactory->create();
337-
if ($this->storeManager->hasSingleStore()) {
338-
$product->setWebsiteIds([$this->storeManager->getStore(true)->getWebsiteId()]);
339-
}
337+
$this->assignProductToWebsites($product);
340338
} else {
341339
$this->removeProductFromLocalCache($productData['sku']);
342340
$product = $this->get($productData['sku']);
@@ -345,31 +343,20 @@ protected function initializeProductData(array $productData, $createNew)
345343
foreach ($productData as $key => $value) {
346344
$product->setData($key, $value);
347345
}
348-
$this->assignProductToWebsites($product, $createNew);
349346

350347
return $product;
351348
}
352349

353350
/**
354351
* @param \Magento\Catalog\Model\Product $product
355-
* @param bool $createNew
356352
* @return void
357353
*/
358-
private function assignProductToWebsites(\Magento\Catalog\Model\Product $product, $createNew)
354+
private function assignProductToWebsites(\Magento\Catalog\Model\Product $product)
359355
{
360-
$websiteIds = $product->getWebsiteIds();
361-
362-
if (!$this->storeManager->hasSingleStore()) {
363-
$websiteIds = array_unique(
364-
array_merge(
365-
$websiteIds,
366-
[$this->storeManager->getStore()->getWebsiteId()]
367-
)
368-
);
369-
}
370-
371-
if ($createNew && $this->storeManager->getStore(true)->getCode() == \Magento\Store\Model\Store::ADMIN_CODE) {
356+
if ($this->storeManager->getStore(true)->getCode() == \Magento\Store\Model\Store::ADMIN_CODE) {
372357
$websiteIds = array_keys($this->storeManager->getWebsites());
358+
} else {
359+
$websiteIds = [$this->storeManager->getStore()->getWebsiteId()];
373360
}
374361

375362
$product->setWebsiteIds($websiteIds);

app/code/Magento/Catalog/Test/Unit/Model/ProductRepositoryTest.php

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -553,7 +553,6 @@ public function testGetBySkuFromCacheInitializedInGetById()
553553

554554
public function testSaveExisting()
555555
{
556-
$this->storeManagerMock->expects($this->any())->method('getWebsites')->willReturn([1 => 'default']);
557556
$this->resourceModelMock->expects($this->any())->method('getIdBySku')->will($this->returnValue(100));
558557
$this->productFactoryMock->expects($this->any())
559558
->method('create')
@@ -566,7 +565,6 @@ public function testSaveExisting()
566565
->expects($this->once())
567566
->method('toNestedArray')
568567
->will($this->returnValue($this->productData));
569-
$this->productMock->expects($this->once())->method('getWebsiteIds')->willReturn([]);
570568
$this->productMock->expects($this->atLeastOnce())->method('getSku')->willReturn($this->productData['sku']);
571569

572570
$this->assertEquals($this->productMock, $this->model->save($this->productMock));
@@ -588,7 +586,6 @@ public function testSaveNew()
588586
->expects($this->once())
589587
->method('toNestedArray')
590588
->will($this->returnValue($this->productData));
591-
$this->productMock->method('getWebsiteIds')->willReturn([]);
592589
$this->productMock->method('getSku')->willReturn('simple');
593590

594591
$this->assertEquals($this->productMock, $this->model->save($this->productMock));
@@ -615,7 +612,6 @@ public function testSaveUnableToSaveException()
615612
->expects($this->once())
616613
->method('toNestedArray')
617614
->will($this->returnValue($this->productData));
618-
$this->productMock->method('getWebsiteIds')->willReturn([]);
619615
$this->productMock->method('getSku')->willReturn('simple');
620616

621617
$this->model->save($this->productMock);
@@ -642,7 +638,6 @@ public function testSaveException()
642638
->expects($this->once())
643639
->method('toNestedArray')
644640
->will($this->returnValue($this->productData));
645-
$this->productMock->expects($this->once())->method('getWebsiteIds')->willReturn([]);
646641
$this->productMock->method('getSku')->willReturn('simple');
647642

648643
$this->model->save($this->productMock);
@@ -667,7 +662,6 @@ public function testSaveInvalidProductException()
667662
->expects($this->once())
668663
->method('toNestedArray')
669664
->will($this->returnValue($this->productData));
670-
$this->productMock->expects($this->once())->method('getWebsiteIds')->willReturn([]);
671665
$this->productMock->method('getSku')->willReturn('simple');
672666

673667
$this->model->save($this->productMock);
@@ -697,9 +691,6 @@ public function testSaveThrowsTemporaryStateExceptionIfDatabaseConnectionErrorOc
697691
->expects($this->once())
698692
->method('toNestedArray')
699693
->will($this->returnValue($this->productData));
700-
$this->productMock->expects($this->once())
701-
->method('getWebsiteIds')
702-
->willReturn([]);
703694
$this->productMock->method('getSku')->willReturn('simple');
704695

705696
$this->model->save($this->productMock);
@@ -847,7 +838,6 @@ public function testSaveExistingWithOptions(array $newOptions, array $existingOp
847838
->method('toNestedArray')
848839
->will($this->returnValue($this->productData));
849840

850-
$this->initializedProductMock->expects($this->once())->method('getWebsiteIds')->willReturn([]);
851841
$this->initializedProductMock->expects($this->atLeastOnce())
852842
->method('getSku')->willReturn($this->productData['sku']);
853843
$this->productMock->expects($this->atLeastOnce())->method('getSku')->willReturn($this->productData['sku']);
@@ -1083,7 +1073,6 @@ public function testSaveWithLinks(array $newLinks, array $existingLinks, array $
10831073
$outputLinks[] = $outputLink;
10841074
}
10851075
}
1086-
$this->initializedProductMock->expects($this->once())->method('getWebsiteIds')->willReturn([]);
10871076

10881077
if (!empty($outputLinks)) {
10891078
$this->initializedProductMock->expects($this->once())
@@ -1264,7 +1253,6 @@ public function testSaveExistingWithNewMediaGalleryEntries()
12641253
'media_type' => 'media_type',
12651254
]
12661255
);
1267-
$this->initializedProductMock->expects($this->once())->method('getWebsiteIds')->willReturn([]);
12681256
$this->initializedProductMock->expects($this->atLeastOnce())
12691257
->method('getSku')->willReturn($this->productData['sku']);
12701258
$this->productMock->expects($this->atLeastOnce())->method('getSku')->willReturn($this->productData['sku']);
@@ -1305,7 +1293,6 @@ public function testSaveWithDifferentWebsites()
13051293
2 => ['second'],
13061294
3 => ['third']
13071295
]);
1308-
$this->productMock->expects($this->once())->method('getWebsiteIds')->willReturn([1,2,3]);
13091296
$this->productMock->expects($this->once())->method('setWebsiteIds')->willReturn([2,3]);
13101297
$this->productMock->method('getSku')->willReturn('simple');
13111298

@@ -1377,7 +1364,6 @@ public function testSaveExistingWithMediaGalleryEntries()
13771364
$this->mediaGalleryProcessor->expects($this->once())
13781365
->method('setMediaAttribute')
13791366
->with($this->initializedProductMock, ['image', 'small_image'], 'filename1');
1380-
$this->initializedProductMock->expects($this->once())->method('getWebsiteIds')->willReturn([]);
13811367
$this->initializedProductMock->expects($this->atLeastOnce())
13821368
->method('getSku')->willReturn($this->productData['sku']);
13831369
$this->productMock->expects($this->atLeastOnce())->method('getSku')->willReturn($this->productData['sku']);

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2715,7 +2715,12 @@ protected function checkUrlKeyDuplicates()
27152715
);
27162716
foreach ($urlKeyDuplicates as $entityData) {
27172717
$rowNum = $this->rowNumbers[$entityData['store_id']][$entityData['request_path']];
2718-
$this->addRowError(ValidatorInterface::ERROR_DUPLICATE_URL_KEY, $rowNum);
2718+
$message = sprintf(
2719+
$this->retrieveMessageTemplate(ValidatorInterface::ERROR_DUPLICATE_URL_KEY),
2720+
$entityData['request_path'],
2721+
$entityData['sku']
2722+
);
2723+
$this->addRowError(ValidatorInterface::ERROR_DUPLICATE_URL_KEY, $rowNum, 'url_key', $message);
27192724
}
27202725
}
27212726
}

app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Widget/CategoriesJson.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public function __construct(Context $context, Registry $coreRegistry)
3232
/**
3333
* Initialize category object in registry
3434
*
35-
* @return Category
35+
* @return Category|bool
3636
*/
3737
protected function _initCategory()
3838
{

app/code/Magento/CatalogSearch/Model/Indexer/Fulltext/Action/DataProvider.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ private function getSelectForSearchableProducts(
221221
$lastProductId,
222222
$batch
223223
) {
224-
$websiteId = $this->storeManager->getStore($storeId)->getWebsiteId();
224+
$websiteId = (int)$this->storeManager->getStore($storeId)->getWebsiteId();
225225
$lastProductId = (int) $lastProductId;
226226

227227
$select = $this->connection->select()

app/code/Magento/CatalogSearch/Model/ResourceModel/Engine.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ public function processAttributeValue($attribute, $value)
120120
*
121121
* @param array $index
122122
* @param string $separator
123-
* @return string
123+
* @return array
124124
*/
125125
public function prepareEntityIndex($index, $separator = ' ')
126126
{

app/code/Magento/Checkout/Block/Checkout/AttributeMerger.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -394,9 +394,9 @@ protected function orderCountryOptions(array $countryOptions)
394394
]];
395395
foreach ($countryOptions as $countryOption) {
396396
if (empty($countryOption['value']) || in_array($countryOption['value'], $this->topCountryCodes)) {
397-
array_push($headOptions, $countryOption);
397+
$headOptions[] = $countryOption;
398398
} else {
399-
array_push($tailOptions, $countryOption);
399+
$tailOptions[] = $countryOption;
400400
}
401401
}
402402
return array_merge($headOptions, $tailOptions);

app/code/Magento/Checkout/Block/Checkout/DirectoryDataProcessor.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,9 +141,9 @@ private function orderCountryOptions(array $countryOptions)
141141
]];
142142
foreach ($countryOptions as $countryOption) {
143143
if (empty($countryOption['value']) || in_array($countryOption['value'], $topCountryCodes)) {
144-
array_push($headOptions, $countryOption);
144+
$headOptions[] = $countryOption;
145145
} else {
146-
array_push($tailOptions, $countryOption);
146+
$tailOptions[] = $countryOption;
147147
}
148148
}
149149
return array_merge($headOptions, $tailOptions);

app/code/Magento/Checkout/view/frontend/web/js/model/totals.js

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,17 @@ define([
1414
'use strict';
1515

1616
var quoteItems = ko.observable(quote.totals().items),
17-
cartData = customerData.get('cart');
17+
cartData = customerData.get('cart'),
18+
quoteSubtotal = parseFloat(quote.totals().subtotal),
19+
subtotalAmount = parseFloat(cartData().subtotalAmount);
1820

1921
quote.totals.subscribe(function (newValue) {
2022
quoteItems(newValue.items);
2123
});
2224

23-
cartData.subscribe(function () {
24-
var quoteSubtotal = parseFloat(quote.totals().subtotal),
25-
subtotalAmount = parseFloat(cartData().subtotalAmount);
26-
27-
if (quoteSubtotal !== subtotalAmount) {
28-
customerData.reload(['cart'], false);
29-
}
30-
}, this);
25+
if (quoteSubtotal !== subtotalAmount) {
26+
customerData.reload(['cart'], false);
27+
}
3128

3229
return {
3330
totals: quote.totals,

app/code/Magento/Checkout/view/frontend/web/js/view/minicart.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,17 +94,17 @@ define([
9494
this.isLoading(addToCartCalls > 0);
9595
sidebarInitialized = false;
9696
this.update(updatedCart);
97-
98-
if (cartData()['website_id'] !== window.checkout.websiteId) {
99-
customerData.reload(['cart'], false);
100-
}
10197
initSidebar();
10298
}, this);
10399
$('[data-block="minicart"]').on('contentLoading', function () {
104100
addToCartCalls++;
105101
self.isLoading(true);
106102
});
107103

104+
if (cartData()['website_id'] !== window.checkout.websiteId) {
105+
customerData.reload(['cart'], false);
106+
}
107+
108108
return this._super();
109109
},
110110
isLoading: ko.observable(false),

0 commit comments

Comments
 (0)