Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ShippingSaved.php
Go to the documentation of this file.
1 <?php
7 
13 
19 class ShippingSaved extends Address
20 {
24  private $addressRepository;
25 
29  private $filterBuilder;
30 
34  private $searchCriteriaBuilder;
35 
44  public function __construct(
45  Context $context,
46  AddressRepositoryInterface $addressRepository,
47  FilterBuilder $filterBuilder,
48  SearchCriteriaBuilder $searchCriteriaBuilder
49  ) {
50  parent::__construct($context);
51  $this->addressRepository = $addressRepository;
52  $this->filterBuilder = $filterBuilder;
53  $this->searchCriteriaBuilder = $searchCriteriaBuilder;
54  }
55 
59  public function execute()
60  {
61  $filter = $this->filterBuilder->setField('parent_id')->setValue($this->_getCheckout()->getCustomer()->getId())
62  ->setConditionType('eq')->create();
63  $addresses = (array)($this->addressRepository->getList(
64  $this->searchCriteriaBuilder->addFilters([$filter])->create()
65  )->getItems());
66 
70  if (count($addresses) === 1) {
71  $this->_getCheckout()->reset();
72  }
73  $this->_redirect('*/checkout/addresses');
74  }
75 }
$addressRepository
_redirect($path, $arguments=[])
Definition: Action.php:167
$addresses
Definition: address_list.php:7
__construct(Context $context, AddressRepositoryInterface $addressRepository, FilterBuilder $filterBuilder, SearchCriteriaBuilder $searchCriteriaBuilder)
$searchCriteriaBuilder