/** * {@inheritdoc} */ public function apply(FilterDatasourceAdapterInterface $ds, $data) { $channelCode = $this->parseData($data); if (!$channelCode) { $channelCode = $this->userContext->getUserChannelCode(); } $this->catalogContext->setScopeCode($channelCode); return true; }
function let(SecurityContextInterface $securityContext, AddLocaleListener $listener, CatalogContext $catalogContext, UserContext $userContext, GetResponseEvent $event) { $securityContext->getToken()->willReturn(true); $event->getRequestType()->willReturn(HttpKernel::MASTER_REQUEST); $userContext->getCurrentLocaleCode()->willReturn('de_DE'); $userContext->getUserChannelCode()->willReturn('schmetterling'); $this->beConstructedWith($securityContext, $listener, $catalogContext, $userContext); }
/** * Get scope from datagrid's filters, fallback on request parameters to deal with the mass edit case * * @return string */ protected function getScope() { $filterValues = $this->requestParams->get('_filter'); if (empty($filterValues)) { $filterValues = $this->request->get('filters'); } if (isset($filterValues['scope']['value']) && $filterValues['scope']['value'] !== null) { return $filterValues['scope']['value']; } else { return $this->userContext->getUserChannelCode(); } }
/** * Define locale and scope in CatalogContext */ protected function configureCatalogContext() { $this->catalogContext->setLocaleCode($this->userContext->getCurrentLocaleCode()); $this->catalogContext->setScopeCode($this->userContext->getUserChannelCode()); }