/**
  * @param ProductGridWidgetRenderEvent $event
  */
 public function onWidgetRender(ProductGridWidgetRenderEvent $event)
 {
     $params = $event->getWidgetRouteParameters();
     $params[PriceListRequestHandler::PRICE_LIST_KEY] = $this->priceListRequestHandler->getPriceList()->getId();
     $params[PriceListRequestHandler::PRICE_LIST_CURRENCY_KEY] = $this->priceListRequestHandler->getPriceListSelectedCurrencies();
     $params[PriceListRequestHandler::TIER_PRICES_KEY] = $this->priceListRequestHandler->getShowTierPrices();
     $event->setWidgetRouteParameters($params);
 }
 /**
  * @param OrmFilterDatasourceAdapter $ds
  * @param string $unit
  */
 protected function qbPrepare(OrmFilterDatasourceAdapter $ds, $unit)
 {
     $qb = $ds->getQueryBuilder();
     $rootAliasCollection = $qb->getRootAliases();
     $rootAlias = reset($rootAliasCollection);
     $joinAlias = $this->getJoinAlias();
     $currency = $this->get('data_name');
     $qb->innerJoin('OroB2BPricingBundle:ProductPrice', $joinAlias, Join::WITH, $rootAlias . '.id = IDENTITY(' . $joinAlias . '.product)');
     $this->addEqExpr($ds, $joinAlias . '.priceList', $ds->generateParameterName('priceList'), $this->priceListRequestHandler->getPriceList());
     $this->addEqExpr($ds, $joinAlias . '.currency', $ds->generateParameterName('currency'), $currency);
     $this->addEqExpr($ds, $joinAlias . '.quantity', $ds->generateParameterName('quantity'), 1);
     $this->addEqExpr($ds, 'IDENTITY(' . $joinAlias . '.unit)', $ds->generateParameterName('unit'), $unit);
 }
 /**
  * @return PriceList
  */
 protected function getPriceList()
 {
     return $this->priceListRequestHandler->getPriceList();
 }
 /**
  * @expectedException \InvalidArgumentException
  * @expectedExceptionMessage Default PriceList not found
  */
 public function testDefaultPriceListNotFound()
 {
     $this->repository->expects($this->once())->method('getDefault')->willReturn(null);
     $this->repository->expects($this->never())->method('find');
     $this->handler->getPriceList();
 }