Skip to content

Commit 9216724

Browse files
authored
Merge pull request magento#3602 from magento-mpi/port-1101
[MPI]-port-1101
2 parents b8eb424 + 862286a commit 9216724

File tree

14 files changed

+681
-246
lines changed

14 files changed

+681
-246
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/Checkout/Block/Checkout/AttributeMerger.php

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,18 @@
66
namespace Magento\Checkout\Block\Checkout;
77

88
use Magento\Customer\Api\CustomerRepositoryInterface as CustomerRepository;
9+
use Magento\Customer\Api\Data\CustomerInterface;
910
use Magento\Customer\Helper\Address as AddressHelper;
1011
use Magento\Customer\Model\Session;
1112
use Magento\Directory\Helper\Data as DirectoryHelper;
13+
use Magento\Framework\Exception\LocalizedException;
14+
use Magento\Framework\Exception\NoSuchEntityException;
1215

16+
/**
17+
* Fields attribute merger.
18+
*
19+
* @SuppressWarnings(PHPMD.CookieAndSessionMisuse)
20+
*/
1321
class AttributeMerger
1422
{
1523
/**
@@ -46,6 +54,7 @@ class AttributeMerger
4654
'alpha' => 'validate-alpha',
4755
'numeric' => 'validate-number',
4856
'alphanumeric' => 'validate-alphanum',
57+
'alphanum-with-spaces' => 'validate-alphanum-with-spaces',
4958
'url' => 'validate-url',
5059
'email' => 'email2',
5160
'length' => 'validate-length',
@@ -67,7 +76,7 @@ class AttributeMerger
6776
private $customerRepository;
6877

6978
/**
70-
* @var \Magento\Customer\Api\Data\CustomerInterface
79+
* @var CustomerInterface
7180
*/
7281
private $customer;
7382

@@ -309,10 +318,14 @@ protected function getMultilineFieldConfig($attributeCode, array $attributeConfi
309318
}
310319

311320
/**
321+
* Returns default attribute value.
322+
*
312323
* @param string $attributeCode
324+
* @throws NoSuchEntityException
325+
* @throws LocalizedException
313326
* @return null|string
314327
*/
315-
protected function getDefaultValue($attributeCode)
328+
protected function getDefaultValue($attributeCode): ?string
316329
{
317330
if ($attributeCode === 'country_id') {
318331
return $this->directoryHelper->getDefaultCountry();
@@ -346,9 +359,13 @@ protected function getDefaultValue($attributeCode)
346359
}
347360

348361
/**
349-
* @return \Magento\Customer\Api\Data\CustomerInterface|null
362+
* Returns logged customer.
363+
*
364+
* @throws NoSuchEntityException
365+
* @throws LocalizedException
366+
* @return CustomerInterface|null
350367
*/
351-
protected function getCustomer()
368+
protected function getCustomer(): ?CustomerInterface
352369
{
353370
if (!$this->customer) {
354371
if ($this->customerSession->isLoggedIn()) {

0 commit comments

Comments
 (0)