Skip to content
This repository was archived by the owner on Apr 29, 2019. It is now read-only.

Commit 0e5cc39

Browse files
committed
Merge remote-tracking branch 'origin/MAGETWO-81153' into MPI-PR-2.2.1
2 parents 92b9ac4 + 760c0bd commit 0e5cc39

File tree

3 files changed

+28
-19
lines changed

3 files changed

+28
-19
lines changed

app/code/Magento/Customer/Block/Address/Edit.php

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
*/
66
namespace Magento\Customer\Block\Address;
77

8+
use Magento\Customer\Model\AttributeChecker;
89
use Magento\Framework\Exception\NoSuchEntityException;
10+
use Magento\Framework\App\ObjectManager;
911

1012
/**
1113
* Customer address edit block
@@ -46,6 +48,11 @@ class Edit extends \Magento\Directory\Block\Data
4648
*/
4749
protected $dataObjectHelper;
4850

51+
/**
52+
* @var AttributeChecker
53+
*/
54+
private $attributeChecker;
55+
4956
/**
5057
* Constructor
5158
*
@@ -61,7 +68,7 @@ class Edit extends \Magento\Directory\Block\Data
6168
* @param \Magento\Customer\Helper\Session\CurrentCustomer $currentCustomer
6269
* @param \Magento\Framework\Api\DataObjectHelper $dataObjectHelper
6370
* @param array $data
64-
*
71+
* @param AttributeChecker $attributeChecker
6572
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
6673
*/
6774
public function __construct(
@@ -76,13 +83,16 @@ public function __construct(
7683
\Magento\Customer\Api\Data\AddressInterfaceFactory $addressDataFactory,
7784
\Magento\Customer\Helper\Session\CurrentCustomer $currentCustomer,
7885
\Magento\Framework\Api\DataObjectHelper $dataObjectHelper,
79-
array $data = []
86+
array $data = [],
87+
AttributeChecker $attributeChecker = null
8088
) {
8189
$this->_customerSession = $customerSession;
8290
$this->_addressRepository = $addressRepository;
8391
$this->addressDataFactory = $addressDataFactory;
8492
$this->currentCustomer = $currentCustomer;
8593
$this->dataObjectHelper = $dataObjectHelper;
94+
$this->attributeChecker = $attributeChecker ?: ObjectManager::getInstance()->get(AttributeChecker::class);
95+
8696
parent::__construct(
8797
$context,
8898
$directoryHelper,
@@ -352,4 +362,16 @@ public function getConfig($path)
352362
{
353363
return $this->_scopeConfig->getValue($path, \Magento\Store\Model\ScopeInterface::SCOPE_STORE);
354364
}
365+
366+
/**
367+
* Checks whether it is allowed to show an attribute on the form.
368+
*
369+
* @param string $attributeCode
370+
* @param string $formName
371+
* @return bool
372+
*/
373+
public function isAttributeAllowedOnForm($attributeCode, $formName)
374+
{
375+
return $this->attributeChecker->isAttributeAllowedOnForm($attributeCode, $formName);
376+
}
355377
}

app/code/Magento/Customer/Helper/AttributeChecker.php renamed to app/code/Magento/Customer/Model/AttributeChecker.php

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,17 @@
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
6-
namespace Magento\Customer\Helper;
6+
namespace Magento\Customer\Model;
77

88
use Magento\Customer\Api\AddressMetadataInterface;
99
use Magento\Customer\Api\AddressMetadataManagementInterface;
10-
use Magento\Customer\Model\Attribute;
1110
use Magento\Customer\Model\Metadata\AttributeResolver;
12-
use Magento\Framework\App\Helper\AbstractHelper;
1311
use Magento\Framework\App\Helper\Context;
1412

1513
/**
1614
* Customer attribute checker.
1715
*/
18-
class AttributeChecker extends AbstractHelper
16+
class AttributeChecker
1917
{
2018
/**
2119
* @var AddressMetadataInterface
@@ -28,18 +26,15 @@ class AttributeChecker extends AbstractHelper
2826
private $attributeResolver;
2927

3028
/**
31-
* @param Context $context
3229
* @param AddressMetadataInterface $addressMetadata
3330
* @param AttributeResolver $attributeResolver
3431
*/
3532
public function __construct(
36-
Context $context,
3733
AddressMetadataInterface $addressMetadata,
3834
AttributeResolver $attributeResolver
3935
) {
4036
$this->addressMetadata = $addressMetadata;
4137
$this->attributeResolver = $attributeResolver;
42-
parent::__construct($context);
4338
}
4439

4540
/**

app/code/Magento/Customer/Test/Unit/Helper/AttributeCheckerTest.php renamed to app/code/Magento/Customer/Test/Unit/Model/AttributeCheckerTest.php

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,20 @@
44
* See COPYING.txt for license details.
55
*/
66

7-
namespace Magento\Customer\Test\Unit\Helper;
7+
namespace Magento\Customer\Test\Unit\Model;
88

99
use Magento\Customer\Api\AddressMetadataInterface;
1010
use Magento\Customer\Api\AddressMetadataManagementInterface;
1111
use Magento\Customer\Api\Data\AttributeMetadataInterface;
12-
use Magento\Customer\Helper\AttributeChecker;
12+
use Magento\Customer\Model\AttributeChecker;
1313
use Magento\Customer\Model\Attribute;
1414
use Magento\Customer\Model\Metadata\AttributeResolver;
15-
use Magento\Framework\App\Helper\Context;
1615

1716
class AttributeCheckerTest extends \PHPUnit\Framework\TestCase
1817
{
1918
/** @var AttributeChecker|\PHPUnit_Framework_MockObject_MockObject */
2019
private $model;
2120

22-
/** @var Context */
23-
private $context;
24-
2521
/** @var AttributeResolver|\PHPUnit_Framework_MockObject_MockObject */
2622
private $attributeResolver;
2723

@@ -30,16 +26,12 @@ class AttributeCheckerTest extends \PHPUnit\Framework\TestCase
3026

3127
protected function setUp()
3228
{
33-
$this->context = $this->getMockBuilder(Context::class)
34-
->disableOriginalConstructor()
35-
->getMock();
3629
$this->addressMetadataService = $this->getMockForAbstractClass(AddressMetadataInterface::class);
3730
$this->attributeResolver = $this->getMockBuilder(AttributeResolver::class)
3831
->disableOriginalConstructor()
3932
->getMock();
4033

4134
$this->model = new AttributeChecker(
42-
$this->context,
4335
$this->addressMetadataService,
4436
$this->attributeResolver
4537
);

0 commit comments

Comments
 (0)