![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-tax/Model/TaxClass/Source/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Tax\Model\TaxClass\Source; use Magento\Framework\Exception\StateException; use Magento\Tax\Api\TaxClassManagementInterface; use Magento\Tax\Model\ClassModel; /** * Customer tax class source model. */ class Customer extends \Magento\Eav\Model\Entity\Attribute\Source\AbstractSource { /** * @var \Magento\Tax\Api\TaxClassRepositoryInterface */ protected $taxClassRepository; /** * @var \Magento\Framework\Api\SearchCriteriaBuilder */ protected $searchCriteriaBuilder; /** * @var \Magento\Framework\Api\FilterBuilder */ protected $filterBuilder; /** * Initialize dependencies. * * @param \Magento\Tax\Api\TaxClassRepositoryInterface $taxClassRepository * @param \Magento\Framework\Api\SearchCriteriaBuilder $searchCriteriaBuilder * @param \Magento\Framework\Api\FilterBuilder $filterBuilder */ public function __construct( \Magento\Tax\Api\TaxClassRepositoryInterface $taxClassRepository, \Magento\Framework\Api\SearchCriteriaBuilder $searchCriteriaBuilder, \Magento\Framework\Api\FilterBuilder $filterBuilder ) { $this->taxClassRepository = $taxClassRepository; $this->searchCriteriaBuilder = $searchCriteriaBuilder; $this->filterBuilder = $filterBuilder; } /** * Retrieve all customer tax classes as an options array. * * @return array * @throws StateException */ public function getAllOptions() { if (empty($this->_options)) { $options = []; $filter = $this->filterBuilder->setField(ClassModel::KEY_TYPE) ->setValue(TaxClassManagementInterface::TYPE_CUSTOMER) ->create(); $searchCriteria = $this->searchCriteriaBuilder->addFilters([$filter])->create(); $searchResults = $this->taxClassRepository->getList($searchCriteria); foreach ($searchResults->getItems() as $taxClass) { $options[] = [ 'value' => $taxClass->getClassId(), 'label' => $taxClass->getClassName(), ]; } $this->_options = $options; } return $this->_options; } }