mirror of
https://github.com/bdnugget/magento2.git
synced 2026-11-07 17:27:36 +00:00
88 lines
3.5 KiB
PHP
88 lines
3.5 KiB
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');
|
|
}
|
|
}
|
|
}
|