コード例 #1
0
ファイル: ActivityGridListener.php プロジェクト: antrampa/crm
 /**
  * @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);
     }
 }
コード例 #2
0
 /**
  * @expectedException \RuntimeException
  * @expectedExceptionMessage The "Entity\NotRoot" must be the root entity.
  */
 public function testAddFilterByTargetEntityWithInvalidActivityEntityClassSpecified()
 {
     $targetEntityClass = 'Oro\\Bundle\\ActivityBundle\\Tests\\Unit\\Fixtures\\Entity\\Target';
     $targetEntityId = 123;
     $qb = $this->em->createQueryBuilder()->select('activity, another')->from('Test:Activity', 'activity')->from('Test:Another', 'another')->where('another.id = activity.id');
     $this->manager->addFilterByTargetEntity($qb, $targetEntityClass, $targetEntityId, 'Entity\\NotRoot');
 }
コード例 #3
0
 /**
  * @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');
         $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);
     }
 }
コード例 #4
0
ファイル: EmailGridHelper.php プロジェクト: ramunasd/platform
 /**
  * @param OrmDatasource $datasource
  * @param mixed         $entityId
  * @param string        $entityClass
  */
 public function updateDatasource($datasource, $entityId, $entityClass = null)
 {
     // apply activity filter
     $this->activityManager->addFilterByTargetEntity($datasource->getQueryBuilder(), $entityClass ? $entityClass : $this->userClass, $entityId ? $entityId : -1);
 }