Skip to content

Commit c8ac426

Browse files
committed
MAGETWO-95770: Saved multi line attribute data displayed incorrectly on customer edit address page
- Fixed multiline customer address attribute data processing for admin
1 parent d7012b2 commit c8ac426

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

app/code/Magento/Customer/Model/Customer/DataProvider.php

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
use Magento\Framework\Session\SessionManagerInterface;
2626
use Magento\Framework\View\Element\UiComponent\ContextInterface;
2727
use Magento\Framework\View\Element\UiComponent\DataProvider\FilterPool;
28+
use Magento\Ui\Component\Form\Element\Multiline;
2829
use Magento\Ui\Component\Form\Field;
2930
use Magento\Ui\DataProvider\EavValidationRules;
3031

@@ -596,8 +597,14 @@ protected function prepareAddressData($addressId, array &$addresses, array $cust
596597
) {
597598
$addresses[$addressId]['default_shipping'] = $customer['default_shipping'];
598599
}
599-
if (isset($addresses[$addressId]['street']) && !is_array($addresses[$addressId]['street'])) {
600-
$addresses[$addressId]['street'] = explode("\n", $addresses[$addressId]['street']);
600+
601+
foreach ($this->meta['address']['children'] as $attributeName => $attributeMeta) {
602+
if ($attributeMeta['arguments']['data']['config']['dataType'] === Multiline::NAME
603+
&& isset($addresses[$addressId][$attributeName])
604+
&& !is_array($addresses[$addressId][$attributeName])
605+
) {
606+
$addresses[$addressId][$attributeName] = explode("\n", $addresses[$addressId][$attributeName]);
607+
}
601608
}
602609
}
603610

app/code/Magento/Customer/Test/Mftf/Section/AdminCustomerAccountInformationSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
<element name="statusInactive" type="button" selector=".admin__actions-switch-label"/>
1313
<element name="accountInformationTitle" type="text" selector=".admin__page-nav-title"/>
1414
<element name="accountInformationButton" type="text" selector="//a/span[text()='Account Information']"/>
15+
<element name="addressesButton" type="text" selector="//a/span[text()='Addresses']"/>
1516
<element name="firstName" type="input" selector="input[name='customer[firstname]']"/>
1617
<element name="lastName" type="input" selector="input[name='customer[lastname]']"/>
1718
<element name="email" type="input" selector="input[name='customer[email]']"/>

0 commit comments

Comments
 (0)