Skip to content

Commit 6faa9c9

Browse files
author
Joan He
committed
Merge remote-tracking branch 'upstream/2.3-develop' into MC-13747
2 parents 4c56bf0 + 97fd70f commit 6faa9c9

File tree

106 files changed

+1771
-715
lines changed

Some content is hidden

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

106 files changed

+1771
-715
lines changed

app/code/Magento/Bundle/view/frontend/templates/sales/order/items/renderer.phtml

Lines changed: 81 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -7,129 +7,150 @@
77
// @codingStandardsIgnoreFile
88

99
/** @var $block \Magento\Bundle\Block\Sales\Order\Items\Renderer */
10+
$parentItem = $block->getItem();
11+
$items = array_merge([$parentItem], $parentItem->getChildrenItems());
12+
$index = 0;
13+
$prevOptionId = '';
1014
?>
11-
<?php $parentItem = $block->getItem() ?>
12-
<?php $items = array_merge([$parentItem], $parentItem->getChildrenItems()); ?>
13-
<?php $_index = 0 ?>
1415

15-
<?php $_prevOptionId = '' ?>
16+
<?php foreach ($items as $item): ?>
1617

17-
<?php foreach ($items as $_item): ?>
18-
19-
<?php if ($block->getItemOptions() || $parentItem->getDescription() || $this->helper('Magento\GiftMessage\Helper\Message')->isMessagesAllowed('order_item', $parentItem) && $parentItem->getGiftMessageId()): ?>
20-
<?php $_showlastRow = true ?>
18+
<?php if ($block->getItemOptions()
19+
|| $parentItem->getDescription()
20+
|| $this->helper('Magento\GiftMessage\Helper\Message')->isMessagesAllowed('order_item', $parentItem)
21+
&& $parentItem->getGiftMessageId()): ?>
22+
<?php $showLastRow = true; ?>
2123
<?php else: ?>
22-
<?php $_showlastRow = false ?>
24+
<?php $showLastRow = false; ?>
2325
<?php endif; ?>
2426

25-
<?php if ($_item->getParentItem()): ?>
26-
<?php $attributes = $block->getSelectionAttributes($_item) ?>
27-
<?php if ($_prevOptionId != $attributes['option_id']): ?>
27+
<?php if ($item->getParentItem()): ?>
28+
<?php $attributes = $block->getSelectionAttributes($item) ?>
29+
<?php if ($prevOptionId != $attributes['option_id']): ?>
2830
<tr class="options-label">
29-
<td class="col label" colspan="5"><?= /* @escapeNotVerified */ $attributes['option_label'] ?></td>
31+
<td class="col label" colspan="5"><?= $block->escapeHtml($attributes['option_label']); ?></td>
3032
</tr>
31-
<?php $_prevOptionId = $attributes['option_id'] ?>
33+
<?php $prevOptionId = $attributes['option_id'] ?>
3234
<?php endif; ?>
3335
<?php endif; ?>
34-
<tr id="order-item-row-<?= /* @escapeNotVerified */ $_item->getId() ?>" class="<?php if ($_item->getParentItem()): ?>item-options-container<?php else: ?>item-parent<?php endif; ?>"<?php if ($_item->getParentItem()): ?> data-th="<?= /* @escapeNotVerified */ $attributes['option_label'] ?>"<?php endif; ?>>
35-
<?php if (!$_item->getParentItem()): ?>
36-
<td class="col name" data-th="<?= $block->escapeHtml(__('Product Name')) ?>">
37-
<strong class="product name product-item-name"><?= $block->escapeHtml($_item->getName()) ?></strong>
36+
<tr id="order-item-row-<?= /* @noEscape */ $item->getId() ?>"
37+
class="<?php if ($item->getParentItem()): ?>
38+
item-options-container
39+
<?php else: ?>
40+
item-parent
41+
<?php endif; ?>"
42+
<?php if ($item->getParentItem()): ?>
43+
data-th="<?= $block->escapeHtml($attributes['option_label']); ?>"
44+
<?php endif; ?>>
45+
<?php if (!$item->getParentItem()): ?>
46+
<td class="col name" data-th="<?= $block->escapeHtml(__('Product Name')); ?>">
47+
<strong class="product name product-item-name"><?= $block->escapeHtml($item->getName()); ?></strong>
3848
</td>
3949
<?php else: ?>
40-
<td class="col value" data-th="<?= $block->escapeHtml(__('Product Name')) ?>"><?= $block->getValueHtml($_item) ?></td>
50+
<td class="col value" data-th="<?= $block->escapeHtml(__('Product Name')); ?>">
51+
<?= $block->getValueHtml($item); ?>
52+
</td>
4153
<?php endif; ?>
42-
<td class="col sku" data-th="<?= $block->escapeHtml(__('SKU')) ?>"><?= /* @escapeNotVerified */ $block->prepareSku($_item->getSku()) ?></td>
43-
<td class="col price" data-th="<?= $block->escapeHtml(__('Price')) ?>">
44-
<?php if (!$_item->getParentItem()): ?>
45-
<?= $block->getItemPriceHtml() ?>
54+
<td class="col sku" data-th="<?= $block->escapeHtml(__('SKU')); ?>">
55+
<?= /* @noEscape */ $block->prepareSku($item->getSku()); ?>
56+
</td>
57+
<td class="col price" data-th="<?= $block->escapeHtml(__('Price')); ?>">
58+
<?php if (!$item->getParentItem()): ?>
59+
<?= /* @noEscape */ $block->getItemPriceHtml(); ?>
4660
<?php else: ?>
4761
&nbsp;
4862
<?php endif; ?>
4963
</td>
50-
<td class="col qty" data-th="<?= $block->escapeHtml(__('Quantity')) ?>">
64+
<td class="col qty" data-th="<?= $block->escapeHtml(__('Quantity')); ?>">
5165
<?php if (
52-
($_item->getParentItem() && $block->isChildCalculated()) ||
53-
(!$_item->getParentItem() && !$block->isChildCalculated()) || ($_item->getQtyShipped() > 0 && $_item->getParentItem() && $block->isShipmentSeparately())):?>
66+
($item->getParentItem() && $block->isChildCalculated()) ||
67+
(!$item->getParentItem() && !$block->isChildCalculated()) ||
68+
($item->getQtyShipped() > 0 && $item->getParentItem() && $block->isShipmentSeparately())): ?>
5469
<ul class="items-qty">
5570
<?php endif; ?>
56-
<?php if (($_item->getParentItem() && $block->isChildCalculated()) ||
57-
(!$_item->getParentItem() && !$block->isChildCalculated())): ?>
58-
<?php if ($_item->getQtyOrdered() > 0): ?>
71+
<?php if (($item->getParentItem() && $block->isChildCalculated()) ||
72+
(!$item->getParentItem() && !$block->isChildCalculated())): ?>
73+
<?php if ($item->getQtyOrdered() > 0): ?>
5974
<li class="item">
60-
<span class="title"><?= /* @escapeNotVerified */ __('Ordered') ?></span>
61-
<span class="content"><?= /* @escapeNotVerified */ $_item->getQtyOrdered()*1 ?></span>
75+
<span class="title"><?= $block->escapeHtml(__('Ordered')); ?></span>
76+
<span class="content"><?= /* @noEscape */ $item->getQtyOrdered() * 1; ?></span>
6277
</li>
6378
<?php endif; ?>
64-
<?php if ($_item->getQtyShipped() > 0 && !$block->isShipmentSeparately()): ?>
79+
<?php if ($item->getQtyShipped() > 0 && !$block->isShipmentSeparately()): ?>
6580
<li class="item">
66-
<span class="title"><?= /* @escapeNotVerified */ __('Shipped') ?></span>
67-
<span class="content"><?= /* @escapeNotVerified */ $_item->getQtyShipped()*1 ?></span>
81+
<span class="title"><?= $block->escapeHtml(__('Shipped')); ?></span>
82+
<span class="content"><?= /* @noEscape */ $item->getQtyShipped() * 1; ?></span>
6883
</li>
6984
<?php endif; ?>
70-
<?php if ($_item->getQtyCanceled() > 0): ?>
85+
<?php if ($item->getQtyCanceled() > 0): ?>
7186
<li class="item">
72-
<span class="title"><?= /* @escapeNotVerified */ __('Canceled') ?></span>
73-
<span class="content"><?= /* @escapeNotVerified */ $_item->getQtyCanceled()*1 ?></span>
87+
<span class="title"><?= $block->escapeHtml(__('Canceled')); ?></span>
88+
<span class="content"><?= /* @noEscape */ $item->getQtyCanceled() * 1; ?></span>
7489
</li>
7590
<?php endif; ?>
76-
<?php if ($_item->getQtyRefunded() > 0): ?>
91+
<?php if ($item->getQtyRefunded() > 0): ?>
7792
<li class="item">
78-
<span class="title"><?= /* @escapeNotVerified */ __('Refunded') ?></span>
79-
<span class="content"><?= /* @escapeNotVerified */ $_item->getQtyRefunded()*1 ?></span>
93+
<span class="title"><?= $block->escapeHtml(__('Refunded')); ?></span>
94+
<span class="content"><?= /* @noEscape */ $item->getQtyRefunded() * 1; ?></span>
8095
</li>
8196
<?php endif; ?>
82-
<?php elseif ($_item->getQtyShipped() > 0 && $_item->getParentItem() && $block->isShipmentSeparately()): ?>
97+
<?php elseif ($item->getQtyShipped() > 0 && $item->getParentItem() && $block->isShipmentSeparately()): ?>
8398
<li class="item">
84-
<span class="title"><?= /* @escapeNotVerified */ __('Shipped') ?></span>
85-
<span class="content"><?= /* @escapeNotVerified */ $_item->getQtyShipped()*1 ?></span>
99+
<span class="title"><?= $block->escapeHtml(__('Shipped')); ?></span>
100+
<span class="content"><?= /* @noEscape */ $item->getQtyShipped() * 1; ?></span>
86101
</li>
87102
<?php else: ?>
88-
&nbsp;
103+
<span class="content"><?= /* @noEscape */ $parentItem->getQtyOrdered() * 1; ?></span>
89104
<?php endif; ?>
90105
<?php if (
91-
($_item->getParentItem() && $block->isChildCalculated()) ||
92-
(!$_item->getParentItem() && !$block->isChildCalculated()) || ($_item->getQtyShipped() > 0 && $_item->getParentItem() && $block->isShipmentSeparately())):?>
106+
($item->getParentItem() && $block->isChildCalculated()) ||
107+
(!$item->getParentItem() && !$block->isChildCalculated()) ||
108+
($item->getQtyShipped() > 0 && $item->getParentItem() && $block->isShipmentSeparately())):?>
93109
</ul>
94110
<?php endif; ?>
95111
</td>
96112
<td class="col subtotal" data-th="<?= $block->escapeHtml(__('Subtotal')) ?>">
97-
<?php if (!$_item->getParentItem()): ?>
98-
<?= $block->getItemRowTotalHtml() ?>
113+
<?php if (!$item->getParentItem()): ?>
114+
<?= /* @noEscape */ $block->getItemRowTotalHtml(); ?>
99115
<?php else: ?>
100116
&nbsp;
101117
<?php endif; ?>
102118
</td>
103119
</tr>
104120
<?php endforeach; ?>
105121

106-
<?php if ($_showlastRow && (($_options = $block->getItemOptions()) || $block->escapeHtml($_item->getDescription()))): ?>
122+
<?php if ($showLastRow && (($options = $block->getItemOptions()) || $block->escapeHtml($item->getDescription()))): ?>
107123
<tr>
108124
<td class="col options" colspan="5">
109-
<?php if ($_options = $block->getItemOptions()): ?>
125+
<?php if ($options = $block->getItemOptions()): ?>
110126
<dl class="item-options">
111-
<?php foreach ($_options as $_option) : ?>
112-
<dt><?= $block->escapeHtml($_option['label']) ?></dt>
127+
<?php foreach ($options as $option) : ?>
128+
<dt><?= $block->escapeHtml($option['label']) ?></dt>
113129
<?php if (!$block->getPrintStatus()): ?>
114-
<?php $_formatedOptionValue = $block->getFormatedOptionValue($_option) ?>
115-
<dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="tooltip wrapper"<?php endif; ?>>
116-
<?= /* @escapeNotVerified */ $_formatedOptionValue['value'] ?>
117-
<?php if (isset($_formatedOptionValue['full_view'])): ?>
130+
<?php $formattedOptionValue = $block->getFormatedOptionValue($option) ?>
131+
<dd<?php if (isset($formattedOptionValue['full_view'])): ?>
132+
class="tooltip wrapper"
133+
<?php endif; ?>>
134+
<?= /* @noEscape */ $formattedOptionValue['value'] ?>
135+
<?php if (isset($formattedOptionValue['full_view'])): ?>
118136
<div class="tooltip content">
119137
<dl class="item options">
120-
<dt><?= $block->escapeHtml($_option['label']) ?></dt>
121-
<dd><?= /* @escapeNotVerified */ $_formatedOptionValue['full_view'] ?></dd>
138+
<dt><?= $block->escapeHtml($option['label']); ?></dt>
139+
<dd><?= /* @noEscape */ $formattedOptionValue['full_view']; ?></dd>
122140
</dl>
123141
</div>
124142
<?php endif; ?>
125143
</dd>
126144
<?php else: ?>
127-
<dd><?= $block->escapeHtml((isset($_option['print_value']) ? $_option['print_value'] : $_option['value'])) ?></dd>
145+
<dd><?= $block->escapeHtml((isset($option['print_value']) ?
146+
$option['print_value'] :
147+
$option['value'])); ?>
148+
</dd>
128149
<?php endif; ?>
129150
<?php endforeach; ?>
130151
</dl>
131152
<?php endif; ?>
132-
<?= $block->escapeHtml($_item->getDescription()) ?>
153+
<?= $block->escapeHtml($item->getDescription()); ?>
133154
</td>
134155
</tr>
135156
<?php endif; ?>

app/code/Magento/Catalog/Api/Data/ProductRender/ImageInterface.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ public function setWidth($width);
9292

9393
/**
9494
* Retrieve image label
95+
*
9596
* Image label is short description of this image
9697
*
9798
* @return string
@@ -111,7 +112,7 @@ public function setLabel($label);
111112
/**
112113
* Retrieve resize width
113114
*
114-
* This width is image dimension, which represents the width, that can be used for perfomance improvements
115+
* This width is image dimension, which represents the width, that can be used for performance improvements
115116
*
116117
* @return float
117118
* @since 101.1.0
@@ -128,6 +129,8 @@ public function getResizedWidth();
128129
public function setResizedWidth($width);
129130

130131
/**
132+
* Set resized height
133+
*
131134
* @param string $height
132135
* @return void
133136
* @since 101.1.0

app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tabs.php

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
use Magento\Backend\Block\Template\Context;
1010
use Magento\Backend\Block\Widget\Accordion;
11-
use Magento\Backend\Block\Widget\Tabs as WigetTabs;
11+
use Magento\Backend\Block\Widget\Tabs as WidgetTabs;
1212
use Magento\Backend\Model\Auth\Session;
1313
use Magento\Catalog\Helper\Catalog;
1414
use Magento\Catalog\Helper\Data;
@@ -22,7 +22,7 @@
2222
* Admin product edit tabs
2323
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
2424
*/
25-
class Tabs extends WigetTabs
25+
class Tabs extends WidgetTabs
2626
{
2727
const BASIC_TAB_GROUP_CODE = 'basic';
2828

@@ -109,7 +109,7 @@ public function __construct(
109109
}
110110

111111
/**
112-
* @return void
112+
* @inheritdoc
113113
*/
114114
protected function _construct()
115115
{
@@ -119,6 +119,8 @@ protected function _construct()
119119
}
120120

121121
/**
122+
* Get group collection.
123+
*
122124
* @param int $attributeSetId
123125
* @return \Magento\Eav\Model\ResourceModel\Entity\Attribute\Group\Collection
124126
*/
@@ -131,10 +133,11 @@ public function getGroupCollection($attributeSetId)
131133
}
132134

133135
/**
134-
* @return $this
136+
* @inheritdoc
135137
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
136-
* @SuppressWarnings(PHPMD.NPathComplexity)
137138
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
139+
* @SuppressWarnings(PHPMD.NPathComplexity)
140+
* @SuppressWarnings(PHPMD.RequestAwareBlockMethod)
138141
*/
139142
protected function _prepareLayout()
140143
{
@@ -315,6 +318,8 @@ public function getAttributeTabBlock()
315318
}
316319

317320
/**
321+
* Set attribute tab block.
322+
*
318323
* @param string $attributeTabBlock
319324
* @return $this
320325
*/
@@ -337,6 +342,8 @@ protected function _translateHtml($html)
337342
}
338343

339344
/**
345+
* Get accordion.
346+
*
340347
* @param string $parentTab
341348
* @return string
342349
*/

app/code/Magento/Catalog/Model/Product/Gallery/CreateHandler.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ protected function duplicate($product)
318318

319319
$this->resourceModel->duplicate(
320320
$this->getAttribute()->getAttributeId(),
321-
isset($mediaGalleryData['duplicate']) ? $mediaGalleryData['duplicate'] : [],
321+
$mediaGalleryData['duplicate'] ?? [],
322322
$product->getOriginalLinkId(),
323323
$product->getData($this->metadata->getLinkField())
324324
);

app/code/Magento/Catalog/Model/ResourceModel/Product/Gallery.php

Lines changed: 11 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\Catalog\Model\ResourceModel\Product;
78

89
use Magento\Store\Model\Store;
@@ -149,7 +150,7 @@ public function loadProductGalleryByAttributeId($product, $attributeId)
149150
*/
150151
protected function createBaseLoadSelect($entityId, $storeId, $attributeId)
151152
{
152-
$select = $this->createBatchBaseSelect($storeId, $attributeId);
153+
$select = $this->createBatchBaseSelect($storeId, $attributeId);
153154

154155
$select = $select->where(
155156
'entity.' . $this->metadata->getLinkField() . ' = ?',
@@ -378,9 +379,9 @@ public function deleteGalleryValueInStore($valueId, $entityId, $storeId)
378379
$conditions = implode(
379380
' AND ',
380381
[
381-
$this->getConnection()->quoteInto('value_id = ?', (int) $valueId),
382-
$this->getConnection()->quoteInto($this->metadata->getLinkField() . ' = ?', (int) $entityId),
383-
$this->getConnection()->quoteInto('store_id = ?', (int) $storeId)
382+
$this->getConnection()->quoteInto('value_id = ?', (int)$valueId),
383+
$this->getConnection()->quoteInto($this->metadata->getLinkField() . ' = ?', (int)$entityId),
384+
$this->getConnection()->quoteInto('store_id = ?', (int)$storeId)
384385
]
385386
);
386387

@@ -408,7 +409,7 @@ public function duplicate($attributeId, $newFiles, $originalProductId, $newProdu
408409

409410
$select = $this->getConnection()->select()->from(
410411
[$this->getMainTableAlias() => $this->getMainTable()],
411-
['value_id', 'value']
412+
['value_id', 'value', 'media_type', 'disabled']
412413
)->joinInner(
413414
['entity' => $this->getTable(self::GALLERY_VALUE_TO_ENTITY_TABLE)],
414415
$this->getMainTableAlias() . '.value_id = entity.value_id',
@@ -425,16 +426,16 @@ public function duplicate($attributeId, $newFiles, $originalProductId, $newProdu
425426

426427
// Duplicate main entries of gallery
427428
foreach ($this->getConnection()->fetchAll($select) as $row) {
428-
$data = [
429-
'attribute_id' => $attributeId,
430-
'value' => isset($newFiles[$row['value_id']]) ? $newFiles[$row['value_id']] : $row['value'],
431-
];
429+
$data = $row;
430+
$data['attribute_id'] = $attributeId;
431+
$data['value'] = $newFiles[$row['value_id']] ?? $row['value'];
432+
unset($data['value_id']);
432433

433434
$valueIdMap[$row['value_id']] = $this->insertGallery($data);
434435
$this->bindValueToEntity($valueIdMap[$row['value_id']], $newProductId);
435436
}
436437

437-
if (count($valueIdMap) == 0) {
438+
if (count($valueIdMap) === 0) {
438439
return [];
439440
}
440441

app/code/Magento/Catalog/Test/Mftf/ActionGroup/SearchForProductOnBackendActionGroup.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,14 @@
1919
<click selector="{{AdminProductFiltersSection.apply}}" stepKey="clickApplyFiltersButton"/>
2020
</actionGroup>
2121

22+
<actionGroup name="SearchForProductOnBackendByNameActionGroup" extends="SearchForProductOnBackendActionGroup">
23+
<arguments>
24+
<argument name="productName" type="string"/>
25+
</arguments>
26+
<remove keyForRemoval="fillSkuFieldOnFiltersSection"/>
27+
<fillField userInput="{{productName}}" selector="{{AdminProductFiltersSection.nameInput}}" after="cleanFiltersIfTheySet" stepKey="fillNameFieldOnFiltersSection"/>
28+
</actionGroup>
29+
2230
<actionGroup name="ClearProductsFilterActionGroup">
2331
<amOnPage url="{{AdminProductIndexPage.url}}" stepKey="navigateToProductIndex"/>
2432
<waitForPageLoad time="30" stepKey="waitForProductsPageToLoad"/>

0 commit comments

Comments
 (0)