function it_gives_the_label_of_a_filter($manager, $configurator, DatagridInterface $datagrid, Acceptor $acceptor, DatagridConfiguration $configuration) { $acceptor->getConfig()->willReturn($configuration); $datagrid->getAcceptor()->willReturn($acceptor); $manager->getDatagrid('product-grid')->willReturn($datagrid); $configurator->configure($configuration)->shouldBeCalled(); $configuration->offsetGetByPath('[filters][columns][foo][label]')->willReturn('Foo'); $this->filterLabel('foo')->shouldReturn('Foo'); }
/** * Get grid mass action by name * * @param string $name * @param DatagridInterface $datagrid * * @return bool|ActionInterface */ public function getMassAction($name, DatagridInterface $datagrid) { $config = $datagrid->getAcceptor()->getConfig(); $action = false; if (isset($config[static::ACTION_KEY][$name])) { $action = $this->getActionObject($name, $config[static::ACTION_KEY][$name]); } return $action; }
function let(MassActionHandlerRegistry $handlerRegistry, ManagerInterface $manager, RequestParameters $requestParams, MassActionParametersParser $parametersParser, DatagridInterface $grid, Acceptor $acceptor, DatasourceInterface $acceptedDatasource, DatasourceInterface $datasource, QueryBuilder $queryBuilder) { $this->beConstructedWith($handlerRegistry, $manager, $requestParams, $parametersParser); $acceptedDatasource->getQueryBuilder()->willReturn($queryBuilder); $grid->getAcceptor()->willReturn($acceptor); $grid->getAcceptedDatasource()->willReturn($acceptedDatasource); $grid->getDatasource()->willReturn($datasource); $manager->getDatagrid('grid')->willReturn($grid); }
function it_configure_choices_and_skip_disallowed($manager, $configurator, DatagridInterface $datagrid, Acceptor $acceptor, DatagridConfiguration $configuration, OptionsResolver $resolver) { $acceptor->getConfig()->willReturn($configuration); $datagrid->getAcceptor()->willReturn($acceptor); $manager->getDatagrid('foo-grid')->willReturn($datagrid); $configurator->configure($configuration)->shouldBeCalled(); $configuration->offsetGetByPath('[filters][columns]')->willReturn(['foobar' => ['label' => 'FooBar'], 'foo-1' => ['label' => 'Foo 1'], 'foo-2' => ['label' => 'Foo 2'], 'bar-1' => ['label' => 'Bar 1'], 'scope' => ['label' => 'Scope'], 'locale' => ['label' => 'Locale']]); $configuration->offsetGetByPath('[source][attributes_configuration]')->willReturn(['foo-1' => ['group' => 'foo'], 'foo-2' => ['group' => 'foo'], 'bar-1' => ['group' => 'bar']]); $resolver->setDefaults(['choices' => ['System' => ['foobar' => 'FooBar'], 'foo' => ['foo-1' => 'Foo 1', 'foo-2' => 'Foo 2'], 'bar' => ['bar-1' => 'Bar 1']]])->shouldBeCalled(); $this->configureOptions($resolver); }
function it_applies_when_user_preference_is_filled_and_skip_disallowed($context, UserInterface $user, DatagridInterface $datagrid, Acceptor $acceptor, DatagridConfiguration $config, BuildAfter $event) { $config->offsetGet('filters')->willReturn(['columns' => ['foo' => [], 'baz' => [], 'scope' => [], 'locale' => []]]); $config->offsetSetByPath('[filters][columns][foo][enabled]', true)->shouldBeCalled(); $config->offsetSetByPath('[filters][columns][baz][enabled]', false)->shouldBeCalled(); $config->offsetSetByPath('[filters][columns][bar][enabled]', Argument::any())->shouldNotBeCalled(); $config->offsetSetByPath('[filters][columns][scope][enabled]', Argument::any())->shouldNotBeCalled(); $config->offsetSetByPath('[filters][columns][locale][enabled]', Argument::any())->shouldNotBeCalled(); $user->getProductGridFilters()->willReturn(['foo', 'bar']); $context->getUser()->willReturn($user); $acceptor->getConfig()->willReturn($config); $datagrid->getAcceptor()->willReturn($acceptor); $event->getDatagrid()->willReturn($datagrid); $this->onBuildAfter($event); }
/** * @param string $massActionName * @param DatagridInterface $datagrid * * @return \Oro\Bundle\DataGridBundle\Extension\MassAction\Actions\MassActionInterface * @throws LogicException */ protected function getMassActionByName($massActionName, DatagridInterface $datagrid) { $massAction = null; $extensions = array_filter($datagrid->getAcceptor()->getExtensions(), function (ExtensionVisitorInterface $extension) { return $extension instanceof MassActionExtension; }); /** @var MassActionExtension|bool $extension */ $extension = reset($extensions); if ($extension === false) { throw new LogicException("MassAction extension is not applied to datagrid."); } $massAction = $extension->getMassAction($massActionName, $datagrid); if (!$massAction) { throw new LogicException(sprintf('Can\'t find mass action "%s"', $massActionName)); } return $massAction; }