services:
  _defaults:
    public: true

  prestashop.admin.shipping_preferences.handling.data_provider:
    class: 'PrestaShopBundle\Form\Admin\Improve\Shipping\Preferences\PreferencesHandlingFormDataProvider'
    arguments:
      - '@prestashop.adapter.shipping_preferences.handling_configuration'

  prestashop.admin.shipping_preferences.carrier_options.data_provider:
    class: 'PrestaShopBundle\Form\Admin\Improve\Shipping\Preferences\PreferencesCarrierOptionsFormDataProvider'
    arguments:
      - '@prestashop.adapter.shipping_preferences.carrier_options_configuration'

  prestashop.admin.order.invoices.by_date.data_provider:
    class: 'PrestaShopBundle\Form\Admin\Sell\Order\Invoices\InvoicesByDateDataProvider'
    arguments:
      - '@prestashop.adapter.data_provider.order_invoice'

  prestashop.admin.order.invoices.by_status.data_provider:
    class: 'PrestaShopBundle\Form\Admin\Sell\Order\Invoices\InvoicesByStatusDataProvider'

  prestashop.admin.order.invoices.options.data_provider:
    class: 'PrestaShopBundle\Form\Admin\Sell\Order\Invoices\InvoiceOptionsDataProvider'
    arguments:
      - '@prestashop.adapter.order.invoice_options.configuration'
      - '@=service("prestashop.adapter.data_provider.order_invoice").getNextInvoiceNumber()'

  prestashop.admin.customer_preferences.data_provider:
    class: 'PrestaShopBundle\Form\Admin\Configure\ShopParameters\CustomerPreferences\CustomerPreferencesDataProvider'
    arguments:
      - '@prestashop.adapter.customer.customer_configuration'

  prestashop.admin.order_preferences.general.data_provider:
    class: 'PrestaShopBundle\Form\Admin\Configure\ShopParameters\OrderPreferences\OrderPreferencesGeneralFormDataProvider'
    arguments:
      - '@prestashop.adapter.order_general.configuration'
      - '@translator'
      - '@prestashop.adapter.data_provider.cms'

  prestashop.admin.order_preferences.gift_options.data_provider:
    class: 'PrestaShopBundle\Form\Admin\Configure\ShopParameters\OrderPreferences\OrderPreferencesGiftOptionsFormDataProvider'
    arguments:
      - '@prestashop.adapter.order_gift.configuration'
      - '@translator'

  prestashop.admin.product_preferences.general.data_provider:
    class: 'PrestaShopBundle\Form\Admin\Configure\ShopParameters\ProductPreferences\GeneralFormDataProvider'
    arguments:
      - '@prestashop.adapter.product_general.configuration'
      - '@translator'

  prestashop.admin.product_preferences.pagination.data_provider:
    class: 'PrestaShopBundle\Form\Admin\Configure\ShopParameters\ProductPreferences\PaginationFormDataProvider'
    arguments:
      - '@prestashop.adapter.product_pagination.configuration'
      - '@translator'

  prestashop.admin.product_preferences.page.data_provider:
    class: 'PrestaShopBundle\Form\Admin\Configure\ShopParameters\ProductPreferences\PageFormDataProvider'
    arguments:
      - '@prestashop.adapter.product_page.configuration'

  prestashop.admin.product_preferences.stock.data_provider:
    class: 'PrestaShopBundle\Form\Admin\Configure\ShopParameters\ProductPreferences\StockFormDataProvider'
    arguments:
      - '@prestashop.adapter.product_stock.configuration'
      - '@translator'

  prestashop.adapter.performance.smarty.form_provider:
    class: 'PrestaShopBundle\Form\Admin\AdvancedParameters\Performance\PerformanceFormDataProvider'
    arguments:
      - '@prestashop.adapter.smarty_cache.configuration'
  prestashop.adapter.performance.debug_mode.form_provider:
    class: 'PrestaShopBundle\Form\Admin\AdvancedParameters\Performance\PerformanceFormDataProvider'
    arguments:
      - '@prestashop.adapter.debug_mode.configuration'

  prestashop.adapter.performance.optional_features.form_provider:
    class: 'PrestaShopBundle\Form\Admin\AdvancedParameters\Performance\PerformanceFormDataProvider'
    arguments:
      - '@prestashop.adapter.optional_features.configuration'

  prestashop.adapter.performance.ccc.form_provider:
    class: 'PrestaShopBundle\Form\Admin\AdvancedParameters\Performance\PerformanceFormDataProvider'
    arguments:
      - '@prestashop.adapter.ccc.configuration'

  prestashop.adapter.performance.media_servers.form_provider:
    class: 'PrestaShopBundle\Form\Admin\AdvancedParameters\Performance\PerformanceFormDataProvider'
    arguments:
      - '@prestashop.adapter.media_servers.configuration'

  prestashop.adapter.performance.caching.form_provider:
    class: 'PrestaShopBundle\Form\Admin\AdvancedParameters\Performance\PerformanceFormDataProvider'
    arguments:
      - '@prestashop.adapter.caching.configuration'

  prestashop.adapter.maintenance.form_provider:
    class: 'PrestaShopBundle\Form\Admin\Configure\ShopParameters\General\MaintenanceFormDataProvider'
    arguments:
      - '@prestashop.adapter.maintenance.configuration'

  prestashop.adapter.administration.general.form_provider:
    class: 'PrestaShopBundle\Form\Admin\Configure\AdvancedParameters\Administration\GeneralDataProvider'
    arguments:
      - '@prestashop.adapter.general.configuration'
      - '@=service("prestashop.adapter.legacy.configuration").getBoolean("PS_SSL_ENABLED")'
      - '@=service("prestashop.adapter.legacy.configuration").getBoolean("PS_SSL_ENABLED_EVERYWHERE")'

  prestashop.adapter.administration.upload_quota.form_provider:
    class: 'PrestaShopBundle\Form\Admin\Configure\AdvancedParameters\Administration\UploadQuotaDataProvider'
    arguments:
      - '@prestashop.adapter.upload_quota.configuration'

  prestashop.adapter.administration.notifications.form_provider:
    class: 'PrestaShopBundle\Form\Admin\Configure\AdvancedParameters\Administration\FormDataProvider'
    arguments:
      - '@prestashop.adapter.notifications.configuration'

  prestashop.adapter.preferences.form_provider:
    class: 'PrestaShopBundle\Form\Admin\Configure\ShopParameters\General\PreferencesFormDataProvider'
    arguments:
      - '@prestashop.adapter.preferences.configuration'

  prestashop.adapter.logs.form_provider:
    class: 'PrestaShopBundle\Form\Admin\Configure\AdvancedParameters\Logs\LogsFormDataProvider'
    arguments:
      - '@prestashop.adapter.logs.configuration'

  prestashop.admin.import.form_data_provider:
    class: 'PrestaShopBundle\Form\Admin\Configure\AdvancedParameters\Import\ImportFormDataProvider'
    arguments:
      - '@prestashop.core.import.file_finder'
      - '@session'

  prestashop.admin.import_data_configuration.form_data_provider:
    class: 'PrestaShopBundle\Form\Admin\Configure\AdvancedParameters\Import\ImportDataConfigurationFormDataProvider'
    arguments:
      - '@prestashop.core.import.dir'
      - '@prestashop.core.import.factory.data_row.collection_factory'
      - '@prestashop.core.admin.import_match.repository'
      - '@prestashop.adapter.import.data_match_saver'
      - '@=service("prestashop.core.form.choice_provider.import_entity_field").getChoices()'

  prestashop.adapter.order.delivery.slip.options.form_provider:
    class: 'PrestaShopBundle\Form\Admin\Sell\Order\Delivery\SlipOptionsFormDataProvider'
    arguments:
      - '@prestashop.adapter.order.delivery.slip.options.configuration'

  prestashop.adapter.order.delivery.slip.pdf.form_provider:
    class: 'PrestaShopBundle\Form\Admin\Sell\Order\Delivery\SlipPdfFormDataProvider'
    arguments:
      - '@prestashop.adapter.order.delivery.slip.pdf.configuration'

  prestashop.admin.localization.configuration.form_data_provider:
    class: 'PrestaShopBundle\Form\Admin\Improve\International\Localization\LocalizationFormDataProvider'
    arguments:
      - '@prestashop.adapter.localization.configuration'

  prestashop.admin.localization.local_units.form_data_provider:
    class: 'PrestaShopBundle\Form\Admin\Improve\International\Localization\LocalizationFormDataProvider'
    arguments:
      - '@prestashop.adapter.local_units.configuration'

  prestashop.admin.localization.advanced.form_data_provider:
    class: 'PrestaShopBundle\Form\Admin\Improve\International\Localization\LocalizationFormDataProvider'
    arguments:
      - '@prestashop.adapter.localization_advanced.configuration'

  prestashop.admin.geolocation.by_ip_address.form_data_provider:
    class: 'PrestaShopBundle\Form\Admin\Improve\International\Geolocation\GeolocationByIpAddressFormDataProvider'
    arguments:
      - '@prestashop.adapter.geolocation_by_ip_address.configuration'
      - '@prestashop.core.geolocation.geo_lite_city.checker'

  prestashop.admin.geolocation.whitelist.form_data_provider:
    class: 'PrestaShopBundle\Form\Admin\Improve\International\Geolocation\GeolocationWhitelistFormDataProvider'
    arguments:
      - '@prestashop.adapter.geolocation_ip_address_whitelist.configuration'
      - '@prestashop.core.validation.validator'

  prestashop.admin.geolocation.options.form_data_provider:
    class: 'PrestaShopBundle\Form\Admin\Improve\International\Geolocation\GeolocationOptionsFormDataProvider'
    arguments:
      - '@prestashop.adapter.geolocation_options.configuration'

  prestashop.admin.payment_preferences.form_data_provider:
    class: 'PrestaShopBundle\Form\Admin\Improve\Payment\Preferences\PaymentPreferencesFormDataProvider'
    arguments:
      - '@prestashop.adapter.payment_module_preferences.configuration'

  prestashop.admin.email_configuration.form_data_provider:
    class: 'PrestaShopBundle\Form\Admin\Configure\AdvancedParameters\Email\EmailConfigurationFormDataProvider'
    arguments:
      - '@prestashop.core.email.email_configurator'

  prestashop.admin.request_sql_settings.form_data_provider:
    class: 'PrestaShopBundle\Form\Admin\Configure\AdvancedParameters\RequestSql\SqlRequestSettingsFormDataProvider'
    arguments:
      - '@prestashop.core.sql_manager.configuration.sql_request_configuration'

  prestashop.admin.webservice.form_data_provider:
    class: 'PrestaShopBundle\Form\Admin\Configure\AdvancedParameters\Webservice\WebserviceFormDataProvider'
    arguments:
      - '@prestashop.adapter.webservice.configuration'

  prestashop.admin.backup.form_data_provider:
    class: 'PrestaShopBundle\Form\Admin\Configure\AdvancedParameters\Backup\BackupDataProvider'
    arguments:
      - '@prestashop.core.backup.options_configuration'

  prestashop.admin.traffic_seo.meta_settings.set_up_urls.form_data_provider:
    class: 'PrestaShopBundle\Form\Admin\Configure\ShopParameters\TrafficSeo\Meta\MetaSettingsSetUpUrlsFormDataProvider'
    arguments:
      - '@prestashop.adapter.meta.set_up_urls.configuration'

  prestashop.admin.traffic_seo.meta_settings.shop_urls.form_data_provider:
    class: 'PrestaShopBundle\Form\Admin\Configure\ShopParameters\TrafficSeo\Meta\MetaSettingsShopUrlsFormDataProvider'
    arguments:
      - '@prestashop.adapter.meta.shop_url.configuration'
      - '@translator'
      - '@prestashop.adapter.validate'

  prestashop.admin.traffic_seo.meta_settings.url_schema.form_data_provider:
    class: 'PrestaShopBundle\Form\Admin\Configure\ShopParameters\TrafficSeo\Meta\MetaSettingsUrlSchemaFormDataProvider'
    arguments:
      - '@prestashop.adapter.meta.url_schema.configuration'
      - '@translator'
      - '@prestashop.adapter.routes.route_validator'

  prestashop.admin.traffic_seo.meta_settings.seo_options.form_data_provider:
    class: 'PrestaShopBundle\Form\Admin\Configure\ShopParameters\TrafficSeo\Meta\MetaSettingsSeoOptionsFormDataProvider'
    arguments:
      - '@prestashop.adapter.meta.seo_options.configuration'

  prestashop.admin.employee_options.form_data_provider:
    class: 'PrestaShopBundle\Form\Admin\Configure\AdvancedParameters\Employee\EmployeeOptionsFormDataProvider'
    arguments:
      - '@prestashop.core.team.employee.configuration.employee_options_configuration'

  prestashop.admin.currency.form_data_provider:
    class: 'PrestaShopBundle\Form\Admin\Improve\International\Currencies\CurrencyFormDataProvider'

  prestashop.admin.tax_options.form_data_provider:
    class: 'PrestaShopBundle\Form\Admin\Improve\International\Tax\TaxOptionsFormDataProvider'
    arguments:
      - '@prestashop.core.tax.tax_options_configuration'

  prestashop.admin.improve.design.theme.shop_logos.form_data_provider:
    class: 'PrestaShopBundle\Form\Admin\Improve\Design\Theme\ShopLogosFormDataProvider'
    arguments:
      - '@prestashop.core.command_bus'
      - '@prestashop.adapter.theme.theme_multi_store_settings_form_data_provider'

  prestashop.admin.mail_theme.form_data_provider:
    class: 'PrestaShopBundle\Form\Admin\Improve\Design\MailTheme\MailThemeFormDataProvider'
    arguments:
      - '@prestashop.core.mail_theme.configuration'

  prestashop.admin.merchandise_return_options.form_data_provider:
    class: 'PrestaShopBundle\Form\Admin\Sell\CustomerService\MerchandiseReturn\MerchandiseReturnOptionsFormDataProvider'
    arguments:
      - '@prestashop.core.merchandise_return.configuration.merchandise_return_options_configuration'

  prestashop.admin.sell.order.credit_slip.credit_slip_options_form_data_provider:
    class: 'PrestaShopBundle\Form\Admin\Sell\Order\CreditSlip\CreditSlipOptionsFormDataProvider'
    arguments:
      - '@prestashop.core.credit_slip.credit_slip_options.configuration'

  prestashop.admin.configure.advanced_parameters.stable_feature_flags_form_data_provider:
    class: 'PrestaShopBundle\Form\Admin\Configure\AdvancedParameters\FeatureFlag\FeatureFlagsFormDataProvider'
    arguments:
      - '@doctrine.orm.entity_manager'
      - 'stable'
      - '@prestashop.bundle.routing.converter.cache_provider'

  prestashop.admin.configure.advanced_parameters.beta_feature_flags_form_data_provider:
    class: 'PrestaShopBundle\Form\Admin\Configure\AdvancedParameters\FeatureFlag\FeatureFlagsFormDataProvider'
    arguments:
      - '@doctrine.orm.entity_manager'
      - 'beta'
      - '@prestashop.bundle.routing.converter.cache_provider'

  prestashop.adapter.security.general.form_provider:
    class: 'PrestaShopBundle\Form\Admin\Configure\AdvancedParameters\Security\FormDataProvider'
    arguments:
      - '@prestashop.adapter.security.general.configuration'

  prestashop.adapter.security.password_policy.form_provider:
    class: 'PrestaShopBundle\Form\Admin\Configure\AdvancedParameters\Security\FormDataProvider'
    arguments:
      - '@prestashop.adapter.security.password_policy.configuration'
