* @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 PrestaShopBundle\Bridge\AdminController; use PrestaShopBundle\Bridge\Helper\Listing\HelperListConfiguration; use Symfony\Component\HttpFoundation\Request; /** * Contains the principal methods you need to horizontally migrate a controller which has a list. */ trait FrameworkBridgeControllerListTrait { /** * @param string $identifierKey @see HelperListConfiguration::$identifierKey * @param string $defaultOrderBy @see HelperListConfiguration::$defaultOrderBy * @param string $indexRoute route name used to generate url for filters & sorting submissions. @see HelperListConfiguration::$indexUrl * @param string|null $positionIdentifierKey @see HelperListConfiguration::$positionIdentifierKey * @param bool $autoJoinLangTable @see HelperListConfiguration::$autoJoinLanguageTable * @param bool $deleted @see HelperListConfiguration::$deleted * @param bool $explicitSelect @see HelperListConfiguration::$explicitSelect * @param bool $useFoundRows @see HelperListConfiguration::$useFoundRows * @param string|null $listId @see HelperListConfiguration::$listId * * @return HelperListConfiguration */ protected function buildListConfiguration( string $identifierKey, string $defaultOrderBy, string $indexRoute, ?string $positionIdentifierKey = null, bool $autoJoinLangTable = true, bool $deleted = false, bool $explicitSelect = false, bool $useFoundRows = true, ?string $listId = null ): HelperListConfiguration { $controllerConfiguration = $this->getControllerConfiguration(); return $this->get('prestashop.bridge.helper.listing.helper_list_configuration_factory')->create( $controllerConfiguration, $identifierKey, $indexRoute, $positionIdentifierKey, $defaultOrderBy, $autoJoinLangTable, $deleted, $explicitSelect, $useFoundRows, $listId ); } /** * Handles filters submit and reset * * @param Request $request * @param HelperListConfiguration $helperListConfiguration */ protected function processFilters(Request $request, HelperListConfiguration $helperListConfiguration): void { $this->get('prestashop.bridge.helper.listing.filters_processor') ->processFilters($request, $helperListConfiguration) ; } }