/** * @param string $entityClass * @return string|null */ public function getContextGridByEntity($entityClass) { if (!empty($entityClass)) { $entityClass = $this->routingHelper->resolveEntityClass($entityClass); $config = $this->entityConfigProvider->getConfig($entityClass); $gridName = $config->get('context-grid'); if ($gridName) { return $gridName; } } return null; }
/** * @param BuildAfter $event */ public function onBuildAfter(BuildAfter $event) { $datagrid = $event->getDatagrid(); $datasource = $datagrid->getDatasource(); if ($datasource instanceof OrmDatasource) { $parameters = $datagrid->getParameters(); $entityClass = $this->entityRoutingHelper->resolveEntityClass($parameters->get('entityClass')); $entityId = $parameters->get('entityId'); // apply activity filter $this->activityManager->addFilterByTargetEntity($datasource->getQueryBuilder(), $entityClass, $entityId); } }
/** * @param BuildAfter $event */ public function onBuildAfter(BuildAfter $event) { $datagrid = $event->getDatagrid(); $datasource = $datagrid->getDatasource(); if ($datasource instanceof OrmDatasource) { $parameters = $datagrid->getParameters(); $entityClass = $this->entityRoutingHelper->resolveEntityClass($parameters->get('entityClass')); $entityId = $parameters->get('entityId'); $this->emailGridHelper->updateDatasource($datasource, $entityId, $entityClass); if ($this->emailGridHelper->isUserEntity($entityClass)) { $this->emailGridHelper->handleRefresh($parameters, $entityId); } } }
/** * @param string $entityClass * * @return string|null */ public function getContextGridByEntity($entityClass) { if (!empty($entityClass)) { $entityClass = $this->routingHelper->resolveEntityClass($entityClass); if (ExtendHelper::isCustomEntity($entityClass)) { return 'custom-entity-grid'; } $config = $this->entityConfigProvider->getConfig($entityClass); if ($config->has('context')) { return $config->get('context'); } if ($config->has('default')) { return $config->get('default'); } } return null; }
/** * @param BuildAfter $event */ public function onBuildAfter(BuildAfter $event) { $datagrid = $event->getDatagrid(); $datasource = $datagrid->getDatasource(); if ($datasource instanceof OrmDatasource) { $parameters = $datagrid->getParameters(); $entityClass = $this->entityRoutingHelper->resolveEntityClass($parameters->get('entityClass')); $entityId = $parameters->get('entityId'); $qb = $datasource->getQueryBuilder(); // apply activity filter $this->activityManager->addFilterByTargetEntity($qb, $entityClass, $entityId); // apply filter by date $start = new \DateTime('now', new \DateTimeZone($this->localeSettings->getTimeZone())); $start->setTime(0, 0, 0); $qb->andWhere('event.start >= :date OR event.end >= :date')->setParameter('date', $start); } }
/** * @param string $className * * @return string */ public function decodeClassName($className) { return $this->entityRoutingHelper->resolveEntityClass($className); }
/** * @dataProvider resolveEntityClassProvider */ public function testResolveEntityClass($src, $expected) { $this->assertEquals($expected, $this->entityRoutingHelper->resolveEntityClass($src)); }
/** * {@inheritdoc} */ public function filter($rawValue, $operator) { return $this->helper->resolveEntityClass($rawValue); }