* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ declare(strict_types=1); namespace PrestaShop\PrestaShop\Core\Form\IdentifiableObject\DataProvider; use PrestaShop\PrestaShop\Core\CommandBus\CommandBusInterface; /** * Provides data for zone add/edit form. */ class CountryFormDataProvider implements FormDataProviderInterface { /** * @var CommandBusInterface */ protected $queryBus; /** * @var bool */ protected $multistoreEnabled; /** * @var int[] */ protected $defaultShopAssociation; /** * @param CommandBusInterface $queryBus * @param bool $multistoreEnabled * @param array $defaultShopAssociation */ public function __construct( CommandBusInterface $queryBus, bool $multistoreEnabled, array $defaultShopAssociation ) { $this->queryBus = $queryBus; $this->multistoreEnabled = $multistoreEnabled; $this->defaultShopAssociation = $defaultShopAssociation; } /** * {@inheritdoc} */ public function getData($id): void { //todo: will be implemented on edit PR } /** * {@inheritdoc} */ public function getDefaultData(): array { $data = [ 'need_zip_code' => false, 'is_enabled' => true, 'contains_states' => false, 'need_identification_number' => false, 'display_tax_label' => true, ]; if ($this->multistoreEnabled) { $data['shop_association'] = $this->defaultShopAssociation; } return $data; } }