diff --git a/src/Sylius/Bundle/AdminBundle/Resources/config/grids/payment_method.yml b/src/Sylius/Bundle/AdminBundle/Resources/config/grids/payment_method.yml index 94c4d0eede8..d1353a2d54a 100644 --- a/src/Sylius/Bundle/AdminBundle/Resources/config/grids/payment_method.yml +++ b/src/Sylius/Bundle/AdminBundle/Resources/config/grids/payment_method.yml @@ -5,6 +5,8 @@ sylius_grid: name: doctrine/orm options: class: %sylius.model.payment_method.class% + repository: + method: createListQueryBuilder fields: code: type: string @@ -23,9 +25,11 @@ sylius_grid: options: template: SyliusAdminBundle:Grid/Field:enabled.html.twig filters: - code: + search: type: string - label: sylius.ui.code + label: sylius.ui.search + options: + fields: [code, translation.name] enabled: type: boolean label: sylius.ui.enabled diff --git a/src/Sylius/Bundle/CoreBundle/Doctrine/ORM/PaymentMethodRepository.php b/src/Sylius/Bundle/CoreBundle/Doctrine/ORM/PaymentMethodRepository.php index 01982661f6d..7acd07654ac 100644 --- a/src/Sylius/Bundle/CoreBundle/Doctrine/ORM/PaymentMethodRepository.php +++ b/src/Sylius/Bundle/CoreBundle/Doctrine/ORM/PaymentMethodRepository.php @@ -15,6 +15,18 @@ class PaymentMethodRepository extends BasePaymentMethodRepository { + /** + * {@inheritdoc} + */ + public function createListQueryBuilder() + { + return $this + ->createQueryBuilder('o') + ->addSelect('translation') + ->leftJoin('o.translations', 'translation') + ; + } + /** * {@inheritdoc} */ diff --git a/src/Sylius/Bundle/GridBundle/Doctrine/ORM/Driver.php b/src/Sylius/Bundle/GridBundle/Doctrine/ORM/Driver.php index ee18c1dbb37..26dc02feed9 100644 --- a/src/Sylius/Bundle/GridBundle/Doctrine/ORM/Driver.php +++ b/src/Sylius/Bundle/GridBundle/Doctrine/ORM/Driver.php @@ -46,10 +46,11 @@ public function getDataSource(array $configuration, Parameters $parameters) $repository = $this->entityManager->getRepository($configuration['class']); - if (isset($configuration['repository']['method']) && isset($configuration['repository']['arguments'])) { + if (isset($configuration['repository']['method'])) { $callable = [$repository, $configuration['repository']['method']]; + $arguments = isset($configuration['repository']['arguments']) ? $configuration['repository']['arguments'] : []; - $queryBuilder = call_user_func_array($callable, $configuration['repository']['arguments']); + $queryBuilder = call_user_func_array($callable, $arguments); } else { $queryBuilder = $repository->createQueryBuilder('o'); } diff --git a/src/Sylius/Bundle/ResourceBundle/Controller/ParametersParserInterface.php b/src/Sylius/Bundle/ResourceBundle/Controller/ParametersParserInterface.php index ea8751043e6..ca641c75bb3 100644 --- a/src/Sylius/Bundle/ResourceBundle/Controller/ParametersParserInterface.php +++ b/src/Sylius/Bundle/ResourceBundle/Controller/ParametersParserInterface.php @@ -19,7 +19,7 @@ interface ParametersParserInterface { /** - * @param array $parameters + * @param array $parameters * @param Request $request * * @return array diff --git a/src/Sylius/Bundle/ResourceBundle/spec/Controller/ParametersParserSpec.php b/src/Sylius/Bundle/ResourceBundle/spec/Controller/ParametersParserSpec.php index 932f1d7872b..1b588f45460 100644 --- a/src/Sylius/Bundle/ResourceBundle/spec/Controller/ParametersParserSpec.php +++ b/src/Sylius/Bundle/ResourceBundle/spec/Controller/ParametersParserSpec.php @@ -27,7 +27,7 @@ function let(ExpressionLanguage $expression) $this->beConstructedWith($expression); } - function it_implements_an_interface() + function it_implements_parameters_parser_interface() { $this->shouldImplement(ParametersParserInterface::class); } diff --git a/src/Sylius/Component/Grid/Definition/Grid.php b/src/Sylius/Component/Grid/Definition/Grid.php index cb3da774920..1911751d180 100644 --- a/src/Sylius/Component/Grid/Definition/Grid.php +++ b/src/Sylius/Component/Grid/Definition/Grid.php @@ -101,7 +101,7 @@ public function getDriverConfiguration() /** * @param array $driverConfiguration */ - public function setDriverConfiguration($driverConfiguration) + public function setDriverConfiguration(array $driverConfiguration) { $this->driverConfiguration = $driverConfiguration; }