Compare commits

..

2 Commits

4 changed files with 171 additions and 166 deletions

View File

@ -1,191 +1,197 @@
imports: imports:
- { resource: ../common.yml } - { resource: ../common.yml }
services: services:
_defaults: _defaults:
public: true public: true
# Controller # Controller
Oksydan\IsImageslider\Controller\IsImagesliderController: Oksydan\IsImageslider\Controller\IsImagesliderController:
public: true public: true
class: Oksydan\IsImageslider\Controller\IsImagesliderController class: Oksydan\IsImageslider\Controller\IsImagesliderController
arguments: arguments:
- '@oksydan.is_imageslider.handler.file_eraser' - "@oksydan.is_imageslider.handler.file_eraser"
- "@=service('prestashop.adapter.legacy.context').getLanguages(false)" - "@=service('prestashop.adapter.legacy.context').getLanguages(false)"
- "@oksydan.is_imageslider.cache.template_cache" - "@oksydan.is_imageslider.cache.template_cache"
# installer # installer
oksydan.is_imageslider.image_slider_installer: oksydan.is_imageslider.image_slider_installer:
class: 'Oksydan\IsImageslider\Installer\ImageSliderInstaller' class: 'Oksydan\IsImageslider\Installer\ImageSliderInstaller'
arguments: arguments:
- '@doctrine.dbal.default_connection' - "@doctrine.dbal.default_connection"
- '@oksydan.is_imageslider.installer.database_yml_parser' - "@oksydan.is_imageslider.installer.database_yml_parser"
- "@=service('prestashop.adapter.legacy.context').getContext()" - "@=service('prestashop.adapter.legacy.context').getContext()"
oksydan.is_imageslider.installer.database_yml_parser: oksydan.is_imageslider.installer.database_yml_parser:
class: 'Oksydan\IsImageslider\Installer\DatabaseYamlParser' class: 'Oksydan\IsImageslider\Installer\DatabaseYamlParser'
arguments: arguments:
- '@oksydan.is_imageslider.installer.database_yml_parser_provider' - "@oksydan.is_imageslider.installer.database_yml_parser_provider"
oksydan.is_imageslider.installer.database_yml_parser_provider: oksydan.is_imageslider.installer.database_yml_parser_provider:
class: 'Oksydan\IsImageslider\Installer\Provider\DatabaseYamlProvider' class: 'Oksydan\IsImageslider\Installer\Provider\DatabaseYamlProvider'
arguments: arguments:
- '@oksydan.is_imageslider.module' - "@oksydan.is_imageslider.module"
oksydan.is_imageslider.installer.action_databse_create_table: oksydan.is_imageslider.installer.action_databse_create_table:
class: 'Oksydan\IsImageslider\Installer\ActionDatabaseCrateTable' class: 'Oksydan\IsImageslider\Installer\ActionDatabaseCrateTable'
parent: 'oksydan.is_imageslider.installer.abstract_action_databse' parent: "oksydan.is_imageslider.installer.abstract_action_databse"
public: true public: true
oksydan.is_imageslider.installer.action_databse_drop_table: oksydan.is_imageslider.installer.action_databse_drop_table:
class: 'Oksydan\IsImageslider\Installer\ActionDatabaseDropTable' class: 'Oksydan\IsImageslider\Installer\ActionDatabaseDropTable'
parent: 'oksydan.is_imageslider.installer.abstract_action_databse' parent: "oksydan.is_imageslider.installer.abstract_action_databse"
public: true public: true
oksydan.is_imageslider.installer.abstract_action_databse: oksydan.is_imageslider.installer.abstract_action_databse:
class: 'Oksydan\IsImageslider\Installer\ActionDatabaseAbstract' class: 'Oksydan\IsImageslider\Installer\ActionDatabaseAbstract'
abstract: true abstract: true
arguments: arguments:
- '@doctrine.dbal.default_connection' - "@doctrine.dbal.default_connection"
- '%database_prefix%' - "%database_prefix%"
oksydan.is_imageslider.handler.file_uploader: oksydan.is_imageslider.handler.file_uploader:
class: 'Oksydan\IsImageslider\Handler\FileUploader' class: 'Oksydan\IsImageslider\Handler\FileUploader'
arguments: arguments:
$targetDirectory: '%is_imageslider_images_directory%' $targetDirectory: "%is_imageslider_images_directory%"
oksydan.is_imageslider.handler.file_eraser: oksydan.is_imageslider.handler.file_eraser:
class: 'Oksydan\IsImageslider\Handler\FileEraser' class: 'Oksydan\IsImageslider\Handler\FileEraser'
arguments: arguments:
$targetDirectory: '%is_imageslider_images_directory%' $targetDirectory: "%is_imageslider_images_directory%"
#creation/edition form
oksydan.is_imageslider.form.identifiable_object.data_provider.image_slider_form_data_provider:
class: 'Oksydan\IsImageslider\Form\Provider\ImageSliderFormDataProvider'
arguments:
- "@oksydan.is_imageslider.repository.image_slider"
- "@oksydan.is_imageslider.provider.image_provider"
- "@prestashop.core.admin.lang.repository"
- "%is_imageslider_placeholder_img%"
- "@prestashop.adapter.shop.context"
#creation/edition form oksydan.is_imageslider.form.identifiable_object.builder.image_slider_form_builder:
oksydan.is_imageslider.form.identifiable_object.data_provider.image_slider_form_data_provider: class: 'PrestaShop\PrestaShop\Core\Form\IdentifiableObject\Builder\FormBuilder'
class: 'Oksydan\IsImageslider\Form\Provider\ImageSliderFormDataProvider' factory:
arguments: ["@prestashop.core.form.builder.form_builder_factory", "create"]
- '@oksydan.is_imageslider.repository.image_slider' arguments:
- '@oksydan.is_imageslider.provider.image_provider' - 'Oksydan\IsImageslider\Form\ImageSliderType'
- '@prestashop.core.admin.lang.repository' - "@oksydan.is_imageslider.form.identifiable_object.data_provider.image_slider_form_data_provider"
- '%is_imageslider_placeholder_img%'
- '@prestashop.adapter.shop.context'
oksydan.is_imageslider.form.identifiable_object.builder.image_slider_form_builder: oksydan.is_imageslider.form.identifiable_object.data_handler.image_slider_form_data_handler:
class: 'PrestaShop\PrestaShop\Core\Form\IdentifiableObject\Builder\FormBuilder' class: 'Oksydan\IsImageslider\Form\DataHandler\ImageSliderFormDataHandler'
factory: 'prestashop.core.form.builder.form_builder_factory:create' arguments:
arguments: - "@oksydan.is_imageslider.repository.image_slider"
- 'Oksydan\IsImageslider\Form\ImageSliderType' - "@prestashop.core.admin.lang.repository"
- '@oksydan.is_imageslider.form.identifiable_object.data_provider.image_slider_form_data_provider' - "@doctrine.orm.default_entity_manager"
- "@oksydan.is_imageslider.handler.file_uploader"
- "@oksydan.is_imageslider.handler.file_eraser"
- "@=service('prestashop.adapter.legacy.context').getLanguages()"
oksydan.is_imageslider.form.identifiable_object.data_handler.image_slider_form_data_handler: oksydan.is_imageslider.form.identifiable_object.handler.image_slider_form_handler:
class: 'Oksydan\IsImageslider\Form\DataHandler\ImageSliderFormDataHandler' class: 'PrestaShop\PrestaShop\Core\Form\IdentifiableObject\Handler\FormHandler'
arguments: factory:
- '@oksydan.is_imageslider.repository.image_slider' [
- '@prestashop.core.admin.lang.repository' "@prestashop.core.form.identifiable_object.handler.form_handler_factory",
- '@doctrine.orm.default_entity_manager' "create",
- '@oksydan.is_imageslider.handler.file_uploader' ]
- '@oksydan.is_imageslider.handler.file_eraser' arguments:
- "@=service('prestashop.adapter.legacy.context').getLanguages()" - "@oksydan.is_imageslider.form.identifiable_object.data_handler.image_slider_form_data_handler"
oksydan.is_imageslider.form.identifiable_object.handler.image_slider_form_handler: #grid services
class: 'PrestaShop\PrestaShop\Core\Form\IdentifiableObject\Handler\FormHandler' oksydan.is_imageslider.grid.definition.factory.image_sliders:
factory: 'prestashop.core.form.identifiable_object.handler.form_handler_factory:create' class: 'Oksydan\IsImageslider\Grid\Definition\Factory\ImageSliderGridDefinitionFactory'
arguments: parent: "prestashop.core.grid.definition.factory.abstract_grid_definition"
- '@oksydan.is_imageslider.form.identifiable_object.data_handler.image_slider_form_data_handler' public: true
#grid services oksydan.is_imageslider.grid.query.image_slider_query_builder:
oksydan.is_imageslider.grid.definition.factory.image_sliders: class: 'Oksydan\IsImageslider\Grid\Query\ImageSliderQueryBuilder'
class: 'Oksydan\IsImageslider\Grid\Definition\Factory\ImageSliderGridDefinitionFactory' parent: "prestashop.core.grid.abstract_query_builder"
parent: 'prestashop.core.grid.definition.factory.abstract_grid_definition' public: true
public: true arguments:
- "@prestashop.adapter.shop.context"
- "@=service('prestashop.adapter.legacy.context').getContext().language.id"
oksydan.is_imageslider.grid.query.image_slider_query_builder: oksydan.is_imageslider.grid.image_slider_grid_factory:
class: 'Oksydan\IsImageslider\Grid\Query\ImageSliderQueryBuilder' class: 'PrestaShop\PrestaShop\Core\Grid\GridFactory'
parent: 'prestashop.core.grid.abstract_query_builder' arguments:
public: true - "@oksydan.is_imageslider.grid.definition.factory.image_sliders"
arguments: - "@oksydan.is_imageslider.grid.data.factory.image_slider_decorator"
- '@prestashop.adapter.shop.context' - "@prestashop.core.grid.filter.form_factory"
- "@=service('prestashop.adapter.legacy.context').getContext().language.id" - "@prestashop.core.hook.dispatcher"
oksydan.is_imageslider.grid.image_slider_grid_factory: oksydan.is_imageslider.grid.data.factory.image_slider_data_factory:
class: 'PrestaShop\PrestaShop\Core\Grid\GridFactory' class: "%prestashop.core.grid.data.factory.doctrine_grid_data_factory%"
arguments: arguments:
- '@oksydan.is_imageslider.grid.definition.factory.image_sliders' - "@oksydan.is_imageslider.grid.query.image_slider_query_builder"
- '@oksydan.is_imageslider.grid.data.factory.image_slider_decorator' - "@prestashop.core.hook.dispatcher"
- '@prestashop.core.grid.filter.form_factory' - "@prestashop.core.grid.query.doctrine_query_parser"
- '@prestashop.core.hook.dispatcher' - "is_imageslider"
oksydan.is_imageslider.grid.data.factory.image_slider_decorator:
class: 'Oksydan\IsImageslider\Grid\Data\Factory\ImageSliderGridDataFactory'
arguments:
- "@oksydan.is_imageslider.grid.data.factory.image_slider_data_factory"
- "@oksydan.is_imageslider.provider.image_provider"
oksydan.is_imageslider.grid.data.factory.image_slider_data_factory: # config form
class: '%prestashop.core.grid.data.factory.doctrine_grid_data_factory%' oksydan.is_imageslider.image_slider.configuration:
arguments: class: 'Oksydan\IsImageslider\Form\DataConfiguration\ImageSliderDataConfiguration'
- '@oksydan.is_imageslider.grid.query.image_slider_query_builder' arguments:
- '@prestashop.core.hook.dispatcher' - "@prestashop.adapter.legacy.configuration"
- '@prestashop.core.grid.query.doctrine_query_parser' - "@prestashop.adapter.shop.context"
- 'is_imageslider' - "@prestashop.adapter.multistore_feature"
oksydan.is_imageslider.image_slider_configuration.form_provider:
class: 'Oksydan\IsImageslider\Form\Provider\ImageSliderConfigurationFormDataProvider'
arguments:
- "@oksydan.is_imageslider.image_slider.configuration"
oksydan.is_imageslider.grid.data.factory.image_slider_decorator: oksydan.is_imageslider.image_slider_configuration.form_handler:
class: 'Oksydan\IsImageslider\Grid\Data\Factory\ImageSliderGridDataFactory' class: 'PrestaShop\PrestaShop\Core\Form\Handler'
arguments: arguments:
- '@oksydan.is_imageslider.grid.data.factory.image_slider_data_factory' - "@form.factory"
- '@oksydan.is_imageslider.provider.image_provider' - "@prestashop.core.hook.dispatcher"
- "@oksydan.is_imageslider.image_slider_configuration.form_provider"
- 'Oksydan\IsImageslider\Form\ImageSliderConfigurationType'
- "ConfigurationForm"
# config form oksydan.is_imageslider.form.image_slider_type:
oksydan.is_imageslider.image_slider.configuration: class: 'Oksydan\IsImageslider\Form\ImageSliderType'
class: 'Oksydan\IsImageslider\Form\DataConfiguration\ImageSliderDataConfiguration' parent: "form.type.translatable.aware"
arguments: arguments:
- '@prestashop.adapter.legacy.configuration' - '@=service("prestashop.adapter.multistore_feature").isUsed()'
- '@prestashop.adapter.shop.context' public: true
- '@prestashop.adapter.multistore_feature' tags:
- { name: form.type }
oksydan.is_imageslider.image_slider_configuration.form_provider: oksydan.is_imageslider.form.image_slider_configuration_type:
class: 'Oksydan\IsImageslider\Form\Provider\ImageSliderConfigurationFormDataProvider' class: 'Oksydan\IsImageslider\Form\ImageSliderConfigurationType'
arguments: parent: "form.type.translatable.aware"
- '@oksydan.is_imageslider.image_slider.configuration' public: true
tags:
- { name: form.type }
oksydan.is_imageslider.image_slider_configuration.form_handler: Oksydan\IsImageslider\Type\TranslatableFile:
class: 'PrestaShop\PrestaShop\Core\Form\Handler' class: 'Oksydan\IsImageslider\Type\TranslatableFile'
arguments: parent: "form.type.translatable.aware"
- '@form.factory' public: true
- '@prestashop.core.hook.dispatcher' tags:
- '@oksydan.is_imageslider.image_slider_configuration.form_provider' - { name: form.type }
- 'Oksydan\IsImageslider\Form\ImageSliderConfigurationType' arguments:
- 'ConfigurationForm' $availableLocales: "@=service('prestashop.adapter.legacy.context').getLanguages()"
$saveFormLocaleChoice: false
$defaultFormLanguageId: "@=service('prestashop.adapter.legacy.context').getLanguage().id"
$defaultShopLanguageId: "@=service('prestashop.adapter.legacy.context').getLanguage().id"
oksydan.is_imageslider.form.image_slider_type: oksydan.is_imageslider.grid.position_definition:
class: 'Oksydan\IsImageslider\Form\ImageSliderType' class: PrestaShop\PrestaShop\Core\Grid\Position\PositionDefinition
parent: 'form.type.translatable.aware' arguments:
arguments: - "image_slider"
- '@=service("prestashop.adapter.multistore_feature").isUsed()' - "id_slide"
public: true - "position"
tags:
- { name: form.type }
oksydan.is_imageslider.form.image_slider_configuration_type: oksydan.is_imageslider.provider.image_provider:
class: 'Oksydan\IsImageslider\Form\ImageSliderConfigurationType' class: 'Oksydan\IsImageslider\Provider\ImageProvider'
parent: 'form.type.translatable.aware' public: true
public: true arguments:
tags: - "%is_imageslider_images_uri%"
- { name: form.type }
Oksydan\IsImageslider\Type\TranslatableFile:
class: 'Oksydan\IsImageslider\Type\TranslatableFile'
parent: 'form.type.common.translatable'
public: true
tags:
- { name: form.type }
oksydan.is_imageslider.grid.position_definition:
class: PrestaShop\PrestaShop\Core\Grid\Position\PositionDefinition
arguments:
- 'image_slider'
- 'id_slide'
- 'position'
oksydan.is_imageslider.provider.image_provider:
class: 'Oksydan\IsImageslider\Provider\ImageProvider'
public: true
arguments:
- '%is_imageslider_images_uri%'

View File

@ -43,8 +43,7 @@ class ImageSliderConfigurationType extends TranslatorAwareType
'min' => $minTime, 'min' => $minTime,
'max' => $maxTime, 'max' => $maxTime,
'invalidMessage' => $rangeInvalidMessage, 'invalidMessage' => $rangeInvalidMessage,
'maxMessage' => $rangeInvalidMessage, 'notInRangeMessage' => $rangeInvalidMessage
'minMessage' => $rangeInvalidMessage,
]), ]),
], ],
]) ])

View File

@ -16,7 +16,7 @@ use Symfony\Component\Form\Extension\Core\Type\DateTimeType;
use Symfony\Component\Form\Extension\Core\Type\FileType; use Symfony\Component\Form\Extension\Core\Type\FileType;
use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Translation\TranslatorInterface; use Symfony\Contracts\Translation\TranslatorInterface;
use Symfony\Component\Validator\Constraints\File; use Symfony\Component\Validator\Constraints\File;
use Symfony\Component\Validator\Constraints\NotBlank; use Symfony\Component\Validator\Constraints\NotBlank;

View File

@ -57,7 +57,7 @@ final class ImageSliderQueryBuilder extends AbstractDoctrineQueryBuilder
$searchCriteria->getOrderBy(), $searchCriteria->getOrderBy(),
$searchCriteria->getOrderWay() $searchCriteria->getOrderWay()
) )
->setFirstResult($searchCriteria->getOffset()) ->setFirstResult($searchCriteria->getOffset() ?? 0)
->setMaxResults($searchCriteria->getLimit()); ->setMaxResults($searchCriteria->getLimit());
$qb->orderBy('position'); $qb->orderBy('position');