/** * @param BuildAfter $event */ public function onBuildAfter(BuildAfter $event) { $datagrid = $event->getDatagrid(); $datasource = $datagrid->getDatasource(); if ($datasource instanceof OrmDatasource) { $parameters = $datagrid->getParameters(); $userId = $parameters->get('userId'); $this->emailGridHelper->updateDatasource($datasource, $userId); $this->emailGridHelper->handleRefresh($parameters, $userId); } }
/** * @param BuildAfter $event */ public function onBuildAfter(BuildAfter $event) { $datagrid = $event->getDatagrid(); $datasource = $datagrid->getDatasource(); if ($datasource instanceof OrmDatasource) { $parameters = $datagrid->getParameters(); $entityClass = $this->entityRoutingHelper->decodeClassName($parameters->get('entityClass')); $entityId = $parameters->get('entityId'); $this->emailGridHelper->updateDatasource($datasource, $entityId, $entityClass); if ($this->emailGridHelper->isUserEntity($entityClass)) { $this->emailGridHelper->handleRefresh($parameters, $entityId); } } }
public function testUpdateDatasourceNoEntityId() { $qb = $this->getMockBuilder('Doctrine\\ORM\\QueryBuilder')->disableOriginalConstructor()->getMock(); $datasource = $this->getMockBuilder('Oro\\Bundle\\DataGridBundle\\Datasource\\Orm\\OrmDatasource')->disableOriginalConstructor()->getMock(); $datasource->expects($this->any())->method('getQueryBuilder')->will($this->returnValue($qb)); $this->activityManager->expects($this->any())->method('addFilterByTargetEntity')->with($this->identicalTo($qb), $this->userClass, -1); $this->helper->updateDatasource($datasource, null); }
/** * @param BuildAfter $event */ public function onBuildAfter(BuildAfter $event) { $datagrid = $event->getDatagrid(); $datasource = $datagrid->getDatasource(); if ($datasource instanceof OrmDatasource) { $parameters = $datagrid->getParameters(); $userId = $parameters->get('userId'); $queryBuilder = $datasource->getQueryBuilder(); $this->emailQueryFactory->applyAcl($queryBuilder); $this->emailQueryFactory->prepareQuery($queryBuilder); // bind 'origin_ids' parameter $originIds = []; $emailOrigins = $this->emailGridHelper->getEmailOrigins($userId); foreach ($emailOrigins as $emailOrigin) { $originIds[] = $emailOrigin->getId(); } $queryBuilder->setParameter('origin_ids', $originIds); } }