Skip to content

Commit 138a3c5

Browse files
MAGETWO-96599: Backorder customer notification is not shown in Magento 2.2.0 / 2.1.9 on One page checkout #11708
1 parent cf69967 commit 138a3c5

File tree

6 files changed

+75
-2
lines changed

6 files changed

+75
-2
lines changed

app/code/Magento/Checkout/Model/DefaultConfigProvider.php

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -282,10 +282,12 @@ public function getConfig()
282282
$quote = $this->checkoutSession->getQuote();
283283
$quoteId = $quote->getId();
284284
$email = $quote->getShippingAddress()->getEmail();
285+
$quoteItemData = $this->getQuoteItemData();
285286
$output['formKey'] = $this->formKey->getFormKey();
286287
$output['customerData'] = $this->getCustomerData();
287288
$output['quoteData'] = $this->getQuoteData();
288-
$output['quoteItemData'] = $this->getQuoteItemData();
289+
$output['quoteItemData'] = $quoteItemData;
290+
$output['quoteMessages'] = $this->getQuoteItemsMessages($quoteItemData);
289291
$output['isCustomerLoggedIn'] = $this->isCustomerLoggedIn();
290292
$output['selectedShippingMethod'] = $this->getSelectedShippingMethod();
291293
if ($email && !$this->isCustomerLoggedIn()) {
@@ -316,6 +318,7 @@ public function getConfig()
316318
);
317319
$output['postCodes'] = $this->postCodesConfig->getPostCodes();
318320
$output['imageData'] = $this->imageProvider->getImages($quoteId);
321+
319322
$output['totalsData'] = $this->getTotalsData();
320323
$output['shippingPolicy'] = [
321324
'isEnabled' => $this->scopeConfig->isSetFlag(
@@ -450,6 +453,7 @@ private function getQuoteItemData()
450453
$quoteItem->getProduct(),
451454
'product_thumbnail_image'
452455
)->getUrl();
456+
$quoteItemData[$index]['message'] = $quoteItem->getMessage();
453457
}
454458
}
455459
return $quoteItemData;
@@ -776,4 +780,22 @@ private function getAttributeLabels(array $customAttribute, string $customAttrib
776780

777781
return $attributeOptionLabels;
778782
}
783+
784+
/**
785+
* Get notification messages for the quote items
786+
*
787+
* @param array $quoteItemData
788+
* @return array
789+
*/
790+
private function getQuoteItemsMessages(array $quoteItemData): array
791+
{
792+
$quoteItemsMessages = [];
793+
if ($quoteItemData) {
794+
foreach ($quoteItemData as $item) {
795+
$quoteItemsMessages[$item['item_id']] = $item['message'];
796+
}
797+
}
798+
799+
return $quoteItemsMessages;
800+
}
779801
}

app/code/Magento/Checkout/view/frontend/layout/checkout_index_index.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -404,6 +404,10 @@
404404
<item name="component" xsi:type="string">Magento_Checkout/js/view/summary/item/details/subtotal</item>
405405
<item name="displayArea" xsi:type="string">after_details</item>
406406
</item>
407+
<item name="message" xsi:type="array">
408+
<item name="component" xsi:type="string">Magento_Checkout/js/view/summary/item/details/message</item>
409+
<item name="displayArea" xsi:type="string">item_message</item>
410+
</item>
407411
</item>
408412
</item>
409413
</item>
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/**
2+
* Copyright © Magento, Inc. All rights reserved.
3+
* See COPYING.txt for license details.
4+
*/
5+
6+
define(['uiComponent'], function (Component) {
7+
'use strict';
8+
9+
var quoteMessages = window.checkoutConfig.quoteMessages;
10+
11+
return Component.extend({
12+
defaults: {
13+
template: 'Magento_Checkout/summary/item/details/message'
14+
},
15+
displayArea: 'item_message',
16+
quoteMessages: quoteMessages,
17+
18+
/**
19+
* @param {Object} item
20+
* @return {null}
21+
*/
22+
getMessage: function (item) {
23+
if (this.quoteMessages[item['item_id']]) {
24+
return this.quoteMessages[item['item_id']];
25+
}
26+
27+
return null;
28+
},
29+
30+
});
31+
});

app/code/Magento/Checkout/view/frontend/web/template/summary/item/details.html

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<!-- ko foreach: getRegion('before_details') -->
99
<!-- ko template: getTemplate() --><!-- /ko -->
1010
<!-- /ko -->
11-
<div class="product-item-details">
11+
<div class="product-item-details abs-add-clearfix">
1212

1313
<div class="product-item-inner">
1414
<div class="product-item-name-block">
@@ -43,3 +43,6 @@
4343
</div>
4444
<!-- /ko -->
4545
</div>
46+
<!-- ko foreach: getRegion('item_message') -->
47+
<!-- ko template: getTemplate() --><!-- /ko -->
48+
<!-- /ko -->
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<!--
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
-->
7+
<div class="cart item message notice" if="getMessage($parents[1])">
8+
<div data-bind="text: getMessage($parents[1])"></div>
9+
</div>

app/design/frontend/Magento/luma/Magento_Checkout/web/css/source/module/checkout/_order-summary.less

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,10 @@
166166
}
167167
}
168168
}
169+
170+
.message {
171+
margin-top: 10px;
172+
}
169173
}
170174

171175
.actions-toolbar {

0 commit comments

Comments
 (0)