Skip to content

Commit 461b661

Browse files
committed
MC-5681: Onepage Checkout improvements
- Fix fatal with no default billing or shipping address;
1 parent 8d78cc1 commit 461b661

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

app/code/Magento/Customer/Model/Address/CustomerAddressDataFormatter.php

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -139,9 +139,17 @@ private function prepareSelectedAddress(
139139
$addressId = null
140140
): array {
141141
if (null !== $addressId && !isset($addressList[$addressId])) {
142-
$selectedAddress = $this->prepareAddress($customer->getAddresses()[$addressId]);
143-
if (isset($selectedAddress['id'])) {
144-
$addressList[$selectedAddress['id']] = $selectedAddress;
142+
$filteredDefaultAddress = array_filter(
143+
$customer->getAddresses(),
144+
function ($address) use ($addressId) {
145+
return $address->getId() === $addressId;
146+
}
147+
);
148+
if (!empty ($filteredDefaultAddress)) {
149+
$selectedAddress = $this->prepareAddress(current($filteredDefaultAddress));
150+
if (isset($selectedAddress['id'])) {
151+
$addressList[$selectedAddress['id']] = $selectedAddress;
152+
}
145153
}
146154
}
147155

0 commit comments

Comments
 (0)