| Current Path : /var/www/clients/client3/web2/web/vendor/magento/module-customer/Controller/Address/ |
| Current File : /var/www/clients/client3/web2/web/vendor/magento/module-customer/Controller/Address/Index.php |
<?php
/**
*
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Customer\Controller\Address;
use Magento\Framework\App\Action\HttpGetActionInterface as HttpGetActionInterface;
use Magento\Customer\Api\CustomerRepositoryInterface;
/**
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
*/
class Index extends \Magento\Customer\Controller\Address implements HttpGetActionInterface
{
/**
* @var CustomerRepositoryInterface
*/
protected $customerRepository;
/**
* @param \Magento\Framework\App\Action\Context $context
* @param \Magento\Customer\Model\Session $customerSession
* @param \Magento\Framework\Data\Form\FormKey\Validator $formKeyValidator
* @param \Magento\Customer\Model\Metadata\FormFactory $formFactory
* @param \Magento\Customer\Api\AddressRepositoryInterface $addressRepository
* @param \Magento\Customer\Api\Data\AddressInterfaceFactory $addressDataFactory
* @param \Magento\Customer\Api\Data\RegionInterfaceFactory $regionDataFactory
* @param \Magento\Framework\Reflection\DataObjectProcessor $dataProcessor
* @param \Magento\Framework\Api\DataObjectHelper $dataObjectHelper
* @param \Magento\Framework\Controller\Result\ForwardFactory $resultForwardFactory
* @param \Magento\Framework\View\Result\PageFactory $resultPageFactory
* @param CustomerRepositoryInterface $customerRepository
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
*/
public function __construct(
\Magento\Framework\App\Action\Context $context,
\Magento\Customer\Model\Session $customerSession,
\Magento\Framework\Data\Form\FormKey\Validator $formKeyValidator,
\Magento\Customer\Model\Metadata\FormFactory $formFactory,
\Magento\Customer\Api\AddressRepositoryInterface $addressRepository,
\Magento\Customer\Api\Data\AddressInterfaceFactory $addressDataFactory,
\Magento\Customer\Api\Data\RegionInterfaceFactory $regionDataFactory,
\Magento\Framework\Reflection\DataObjectProcessor $dataProcessor,
\Magento\Framework\Api\DataObjectHelper $dataObjectHelper,
\Magento\Framework\Controller\Result\ForwardFactory $resultForwardFactory,
\Magento\Framework\View\Result\PageFactory $resultPageFactory,
CustomerRepositoryInterface $customerRepository
) {
$this->customerRepository = $customerRepository;
parent::__construct(
$context,
$customerSession,
$formKeyValidator,
$formFactory,
$addressRepository,
$addressDataFactory,
$regionDataFactory,
$dataProcessor,
$dataObjectHelper,
$resultForwardFactory,
$resultPageFactory
);
}
/**
* Customer addresses list
*
* @return \Magento\Framework\Controller\ResultInterface
*/
public function execute()
{
$addresses = $this->customerRepository->getById($this->_getSession()->getCustomerId())->getAddresses();
if (count($addresses)) {
/** @var \Magento\Framework\View\Result\Page $resultPage */
$resultPage = $this->resultPageFactory->create();
$block = $resultPage->getLayout()->getBlock('address_book');
if ($block) {
$block->setRefererUrl($this->_redirect->getRefererUrl());
}
return $resultPage;
} else {
return $this->resultRedirectFactory->create()->setPath('*/*/new');
}
}
}